Java服务器端socket编程如何实现高效通信?

更新于
2026-10-12 11:19:40
1阅读来源:SEO问题
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计315个文字,预计阅读时间需要2分钟。

Java服务器端socket编程如何实现高效通信?

javaimport java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;

/** * 服务器端Socket * @author YJ */public class Server { public static void main(String[] args) { try (ServerSocket serverSocket=new ServerSocket(1234)) { System.out.println(服务器启动,等待客户端连接...); Socket socket=serverSocket.accept(); System.out.println(客户端连接成功!);

try (DataInputStream input=new DataInputStream(socket.getInputStream()); DataOutputStream output=new DataOutputStream(socket.getOutputStream())) {

String message=input.readUTF(); System.out.println(收到客户端消息: + message);

output.writeUTF(服务器收到: + message); } } catch (IOException e) { e.printStackTrace(); } }}

Java服务器端socket编程如何实现高效通信?

gistfile1.txt

import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; /** * 服务器端Socket * @author YJ */ public class Server { private ServerSocket serverSocket; public Server(){ try { serverSocket = new ServerSocket(8000); //创建服务器Socket System.out.println("a server started..."); while(true){ Socket connectToClient = serverSocket.accept(); //启动客户端监听 new ServerThread(connectToClient).start(); //客户端连接之后 启动新线程 } } catch (IOException e) { e.printStackTrace(); } } class ServerThread extends Thread{ //内部线程类 private DataInputStream isFromClient; private DataOutputStream osToClient; public ServerThread(Socket connectToClient){ System.out.print("a client connected: "); System.out.println(connectToClient.getRemoteSocketAddress()); try { isFromClient = new DataInputStream(connectToClient.getInputStream()); osToClient = new DataOutputStream(connectToClient.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } } public void run() { while(true){ //可多长输入输出 try { int i = isFromClient.readInt(); //读入客户端传入值 osToClient.writeInt(i*i); //返回值的平方 } catch (IOException e) { System.out.println("a client closed..."); break; } } } } public static void main(String[] args) { new Server(); } }

本文共计315个文字,预计阅读时间需要2分钟。

Java服务器端socket编程如何实现高效通信?

javaimport java.io.DataInputStream;import java.io.DataOutputStream;import java.io.IOException;import java.net.ServerSocket;import java.net.Socket;

/** * 服务器端Socket * @author YJ */public class Server { public static void main(String[] args) { try (ServerSocket serverSocket=new ServerSocket(1234)) { System.out.println(服务器启动,等待客户端连接...); Socket socket=serverSocket.accept(); System.out.println(客户端连接成功!);

try (DataInputStream input=new DataInputStream(socket.getInputStream()); DataOutputStream output=new DataOutputStream(socket.getOutputStream())) {

String message=input.readUTF(); System.out.println(收到客户端消息: + message);

output.writeUTF(服务器收到: + message); } } catch (IOException e) { e.printStackTrace(); } }}

Java服务器端socket编程如何实现高效通信?

gistfile1.txt

import java.io.DataInputStream; import java.io.DataOutputStream; import java.io.IOException; import java.net.ServerSocket; import java.net.Socket; /** * 服务器端Socket * @author YJ */ public class Server { private ServerSocket serverSocket; public Server(){ try { serverSocket = new ServerSocket(8000); //创建服务器Socket System.out.println("a server started..."); while(true){ Socket connectToClient = serverSocket.accept(); //启动客户端监听 new ServerThread(connectToClient).start(); //客户端连接之后 启动新线程 } } catch (IOException e) { e.printStackTrace(); } } class ServerThread extends Thread{ //内部线程类 private DataInputStream isFromClient; private DataOutputStream osToClient; public ServerThread(Socket connectToClient){ System.out.print("a client connected: "); System.out.println(connectToClient.getRemoteSocketAddress()); try { isFromClient = new DataInputStream(connectToClient.getInputStream()); osToClient = new DataOutputStream(connectToClient.getOutputStream()); } catch (IOException e) { e.printStackTrace(); } } public void run() { while(true){ //可多长输入输出 try { int i = isFromClient.readInt(); //读入客户端传入值 osToClient.writeInt(i*i); //返回值的平方 } catch (IOException e) { System.out.println("a client closed..."); break; } } } } public static void main(String[] args) { new Server(); } }