socketconnect(new InetSocketAddress(ip, port), timeout)
看有没有抛异常 没异常就是已经连接上了
想获取服务器名称 可以用ARP协议 或者测试连接的时候服务器回应一个名称
package baiduzhidao;import javaioIOException;
import javanetInetSocketAddress;
import javanetSocket;
public class Client {
public static void main(String[] args) {
/
端口号
/
int port = 10000;
/
连接延时
/
int timeout = 300;
Systemoutprintln("Scanner Start");
Socket socket;
/
扫描
/
for (int i = 1, k = 254; i < k; i++) {
if ((socket = isOnLine("1921681" + i, port, timeout)) != null) {
Systemoutprintln("Server:"
+ socketgetInetAddress()getHostAddress()
+ ":" + socketgetPort() + " Is Waiting");
}
/
关闭连接
/
if (socket != null && !socketisClosed()) {
try {
socketclose();
} catch (IOException e) {
socket = null;
}
}
}
Systemoutprintln("Scanner end");
}
/
测试连接服务器,返回连接成功后的Socket
@param ip
服务器Ip
@param port
服务器端口号
@param timeout
连接延时
@return 返回连接成功后的Socket
/
private static Socket isOnLine(String ip, int port, int timeout) {
Socket socket = new Socket();
try {
socketconnect(new InetSocketAddress(ip, port), timeout);
} catch (IOException e) {
return null;
}
return socket;
}
}
server = new SocketServer(3389);
Socket s = serveraccept();
sgetInetAddress()getHostAddress()
Server端不是要建立serversocket么,这个类会监听socket连接,客户端连接服务端的时候会携带本机(客户端)的ip,服务器接收连接,经过三次握手之后双方建立tcp连接,然后就可以通讯了,编写服务端的时候并不需要关心客户端发起连接的端口。
获取ip:socketgetInetAddress()
获取端口:socketgetPort();
以上就是关于网络编程socketserver的方法有哪些全部的内容,包括:网络编程socketserver的方法有哪些、java服务端如何获得客户端的ip、java编程,获取局域网内服务器端的ip地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)