import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; class ServerThread implements Runnable { Socket socket; char[] cbuf; public ServerThread(Socket socket) { super(); this.socket = socket; } @Override public void run() { try { BufferedReader netIn2 = new BufferedReader(new InputStreamReader( socket.getInputStream())); System.out.println(netIn2.readLine()); // 从网络套接字获取输出流,建立打印输出流 PrintWriter netOut2 = new PrintWriter(socket.getOutputStream()); netOut2.write("你好\n"); netOut2.flush(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } public class ServerTest { public static void main(String[] args) throws Exception { int PORT = 8888; // 侦听端口 // 创建ServerSocket ServerSocket serverSocket = new ServerSocket(PORT); // 开始循环 while (true) { // 等待连接 Socket socket = new socket(); // 处理链接的线程类 ServerThread st = new ServerThread(socket); // 启动线程处理 new Thread(st).start(); } } }
时间: 2024-02-14 19:20:06 浏览: 121
javaIO与文件(ppt文档).ppt
这是一个简单的Java Socket编程示例,它创建了一个ServerSocket对象并在指定端口上侦听连接。当客户端连接到该端口时,程序将创建一个新线程(ServerThread),并将新套接字传递给该线程,以便线程可以与客户端进行通信。在ServerThread中,程序从客户端获取输入流,并打印在控制台上。然后,程序从网络套接字获取输出流,并向客户端发送一条消息。最后,程序关闭套接字和相关的IO对象。
阅读全文