创建套接字
ServerSocket serverSocket = new ServerSocket(9688);
9688是服务端需要监听的端口号
监听
serverSocket.accept();
等待客户端的连接,这个方法是一直阻塞的,知道客户端连接上来,建立一个长连接,连接一直维护致一端断开连接
完整的服务端代码
package io.bio;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.ServerSocket;import java.net.Socket;/*** 服务端代码** @author linguo**/public class ServerSocketDemo {/*** 处理连接** @param socket* @throws Exception*/private static void process(Socket socket) throws Exception {// 读ioBufferedReader reader = new BufferedReader(new InputStreamReader(socket.getInputStream()));// 写ioBufferedWriter writer = new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));// 读取String readLine = reader.readLine();// 读取到的内容写给客户端writer.write(readLine);writer.newLine();writer.flush();}public static void main(String[] args) throws IOException {// 创建套接字ServerSocket serverSocket = new ServerSocket(9688);while (true) {// 循环监听Socket clientSocket = serverSocket.accept();try {System.err.println("新连接:" + clientSocket.getRemoteSocketAddress());process(clientSocket);} catch (Exception e) {e.printStackTrace();serverSocket.close();}}}}
