「java监听ip」java监听端口接收数据

博主:adminadmin 2022-12-25 02:54:05 59

今天给各位分享java监听ip的知识,其中也会对java监听端口接收数据进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

java服务端如何获得客户端的ip

网络通信可分为两种模式:TCP有连接的通信

UDP无连接的通信

依照上述的问题我可以理解为你是要进行有连接的通信。是要经过三次握手才能实现可靠的连接

第一次:建立连接时三次握手,客户端发送syn包(syn=j)到服务器,并进入SYN_SENT状态,等待服务器确认;SYN(Synchronize Sequence Numbers)同步序列号。

服务器端即可使用:

Socket s=serverSocket.accept();

String clientIP=s.getInetAddress().toString();

这就实现了java服务器端获取到连接此服务器的客户端的IP了,你若想实现获取所有连接此服务器的客户端的IP,你可以把每次accept()返回的socket放进全局的Vector里面,然后在遍历这个vector方法就同上代码咯……

java如何监控局域网中每个ip的连接情况?

1.得到局域网网段,可由自己机器的IP来确定 (也可以手动获取主机IP-CMD-ipconfig /all)

2.根据IP类型,一次遍历局域网内IP地址

JAVA类,编译之后直接运行便可以得到局域网内所有IP,具体怎样使用你自己编写相应代码调用便可

代码如下::

package bean;

import java.io.*;

import java.util.*;

public class Ip{

static public HashMap ping; //ping 后的结果集

public HashMap getPing(){ //用来得到ping后的结果集

return ping;

}

//当前线程的数量, 防止过多线程摧毁电脑

static int threadCount = 0;

public Ip() {

ping = new HashMap();

}

public void Ping(String ip) throws Exception{

//最多30个线程

while(threadCount30)

Thread.sleep(50);

threadCount +=1;

PingIp p = new PingIp(ip);

p.start();

}

public void PingAll() throws Exception{

//首先得到本机的IP,得到网段

InetAddress host = InetAddress.getLocalHost();

String hostAddress = host.getHostAddress();

int k=0;

k=hostAddress.lastIndexOf(".");

String ss = hostAddress.substring(0,k+1);

for(int i=1;i =255;i++){ //对所有局域网Ip

String iip=ss+i;

Ping(iip);

}

//等着所有Ping结束

while(threadCount0)

Thread.sleep(50);

}

public static void main(String[] args) throws Exception{

Ip ip= new Ip();

ip.PingAll();

java.util.Set entries = ping.entrySet();

java查看局域网内运行该程序的ip

。。这个教 socket的时候都会讲到的嘛。。聊天室的那个。

首先要有个类似服务器端的线程管理接收到的连接。

客户端建立与服务端的连接时,服务端就能保存连接的IP信息。

再之后客户端主动获取IP LIST 展示出来。差不多就是这样 。

只是具体实现的时候限制性蛮大的,原来就实现了老师的代码就没再弄了。干脆JSP写简单论坛实现去了。。。

刚刚搜了个代码, 楼主可以参考下 :

Java写的简单Socket聊天室

关于java监听ip和java监听端口接收数据的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

The End

发布于:2022-12-25,除非注明,否则均为首码项目网原创文章,转载请注明出处。