下面是详细的讲解。
一、实现运行服务器
- 开启一个Java项目,在项目中创建一个ServerSocket对象,指定监听的端口号。这里以6666为例:
// 创建ServerSocket对象
ServerSocket serverSocket = new ServerSocket(6666);
- 使用accept()方法等待客户端连接。该方法会一直阻塞,直到有客户端连接,然后返回一个表示已连接的Socket对象。
// 使用accept()方法等待客户端连接,返回已连接的Socket对象
Socket socket = serverSocket.accept();
- 在连接成功后,可以通过获得的Socket对象获取到该客户端的IP地址和端口号,并在控制台打印出来作为提示。
// 获取客户端的IP地址和端口号
String ip = socket.getInetAddress().getHostAddress();
int port = socket.getPort();
// 打印出连接信息
System.out.println("客户端" + ip + ":" + port + "已连接");
二、等待客户端连接
- 创建一个客户端程序,在该程序中创建一个Socket对象,并指定服务器的IP地址和端口号,这里以本地IP和6666端口为例:
// 创建Socket对象,指定服务器的IP地址和端口号
Socket socket = new Socket("127.0.0.1", 6666);
- 在成功连接服务器后,可以通过获取到的Socket对象获得服务器的IP地址和端口号,并在控制台打印出来作为提示。
// 获取服务器的IP地址和端口号
String ip = socket.getInetAddress().getHostAddress();
int port = socket.getPort();
// 打印出连接信息
System.out.println("已连接服务器" + ip + ":" + port);
示例说明一
下面是一个实现运行服务器的完整示例:
import java.io.IOException;
import java.net.ServerSocket;
import java.net.Socket;
public class Server {
public static void main(String[] args) throws IOException {
// 创建ServerSocket对象
ServerSocket serverSocket = new ServerSocket(6666);
System.out.println("服务器已启动,等待客户端连接");
// 使用accept()方法等待客户端连接
Socket socket = serverSocket.accept();
// 获取客户端的IP地址和端口号
String ip = socket.getInetAddress().getHostAddress();
int port = socket.getPort();
// 打印出连接信息
System.out.println("客户端" + ip + ":" + port + "已连接");
// 关闭服务器Socket
serverSocket.close();
}
}
在该示例中,开启了一个端口为6666的ServerSocket对象,并使用accept()方法等待客户端连接。当有客户端连接成功时,获取到客户端的IP地址和端口号,并打印出提示信息。最后关闭了服务器Socket。
示例说明二
下面是一个等待客户端连接的完整示例:
import java.io.IOException;
import java.net.Socket;
public class Client {
public static void main(String[] args) throws IOException {
// 创建Socket对象,指定服务器的IP地址和端口号
Socket socket = new Socket("127.0.0.1", 6666);
System.out.println("已连接服务器");
// 获取服务器的IP地址和端口号
String ip = socket.getInetAddress().getHostAddress();
int port = socket.getPort();
// 打印出连接信息
System.out.println("服务器" + ip + ":" + port + "已连接");
// 关闭客户端Socket
socket.close();
}
}
在该示例中,创建了一个Socket对象,并指定了服务器的IP地址和端口号。在连接成功后,获取到服务器的IP地址和端口号,并打印出提示信息。最后关闭了客户端Socket。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java聊天室之实现运行服务器与等待客户端连接 - Python技术站