在Java中实现TCP Server和TCP Client可以使用Java提供的Socket类和ServerSocket类。
下面是一个简单的TCP Server实现:
import <em>java</em>.net.*; import <em>java</em>.io.*; public class <em>TCP</em>Server { public static void main (String [] args ) throws IOException { ServerSocket serverSocket = null; try { serverSocket = new ServerSocket(9999); } catch (IOException e) { System.err.println("Could not listen on port: 9999."); System.exit(1); } Socket clientSocket = null; System.out.println ("Waiting for connection....."); try { clientSocket = serverSocket.accept(); } catch (IOException e) { System.err.println("Accept failed."); System.exit(1); } System.out.println ("Connection successful"); PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true); BufferedReader in = new BufferedReader( new InputStreamReader( clientSocket.getInputStream())); String inputLine; while ((inputLine = in.readLine()) != null) { System.out.println ("Server: " + inputLine); out.println(inputLine); if (inputLine.equals("Bye.")) break; } out.close(); in.close(); clientSocket.close(); serverSocket.close(); } }
讯享网
上述代码创建了一个ServerSocket并监听9999端口。当客户端连接后,程序会创建一个Socket并开始读取客户端发送的数据。服务器将客户端发送的数据原样返回,并在客户端发送“Bye.”后关闭连接。

下面是一个简单的TCP Client实现:
讯享网import <em>java</em>.net.*; import <em>java</em>.io.*; public class <em>TCP</em>Client { public static void main(String[] args) throws IOException { Socket socket = null; PrintWriter out = null; BufferedReader in = null; try { socket = new Socket("localhost", 9999); out = new PrintWriter(socket.getOutputStream(), true); in = new BufferedReader(new InputStreamReader( socket.getInputStream())); } catch (UnknownHostException e) { System.err.println("Don't know about host: localhost."); System.exit(1); } catch (IOException e) { System.err.println("Couldn't get I/O for " + "the connection to: localhost."); System.exit(1); } BufferedReader stdIn = new BufferedReader( new InputStreamReader(System.in)); String userInput; while ((userInput = stdIn.readLine()) != null) { out.println(userInput); System.out.println("Server: " + in.readLine()); if (userInput.equals("Bye.")) break; } out.close(); in.close(); stdIn.close(); socket.close(); } }
上述代码创建了一个Socket并连接到服务器的9999端口。客户端从标准输入读取数据,并将其发送到服务器。客户端接收服务器发送的数据,并将其打印到控制台。
这只是一个简单的示例,实际应用中需要考虑更多的异常情况和数据处理方式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181893.html