Java中的TCP通信(网络编程二)
- 人工智能
- 2025-08-17 20:48:01

简介
TCP(传输控制协议)是一种在计算机网络中常用的协议,它提供了可靠的、面向连接的通信(协议信息链接:TCP协议)。在Java中,我们可以使用Socket和ServerSocket类来实现TCP通信。
Java TCP通信关键方法 客户端套接字(Socket)方法:- Socket(String host, int port):使用指定的主机和端口创建一个客户端套接字。
- Socket(InetAddress address,int port):创建流套接字并将其连接到指定IP指定端口号
- void connect(SocketAddress endpoint):连接到指定的远程套接字地址。
- void setSoTimeout(int timeout):设置套接字的读取超时时间。
- boolean isConnected():检查套接字是否已连接。
- void close():关闭套接字连接。
服务器套接字(ServerSocket)方法:- ServerSocket(int port):创建一个服务器套接字,绑定到指定的端口。
- Socket accept():侦听客户端的连接请求,并返回与客户端连接的套接字。
- void setSoTimeout(int timeout):设置服务器套接字的超时时间。
- boolean isBound():检查服务器套接字是否已绑定到特定端口。
- void close():关闭服务器套接字。
输入输出流方法(数据处理):- InputStream getInputStream():返回与套接字关联的输入流。
- OutputStream getOutputStream():返回与套接字关联的输出流。
- void write(byte[] b):将字节数组中的数据写入输出流。
- int read(byte[] b):从输入流中读取数据并存储到字节数组中。
- void flush():刷新输出流,确保数据被发送。
- String readLine():从输入流中读取一行数据。
- void writeBytes(String s):将字符串以字节的形式写入输出流。
- void writeInt(int value):将整数写入输出流。
- int readInt():从输入流中读取整数。
- void writeObject(Object obj):将对象写入输出流。
程序简单设计 客户端设计(后启动) public class TCPClient { public static void main(String[] args) throws IOException { //创建嵌套字并连接服务端 Socket socket=new Socket("127.0.0.1",10000); //获取嵌套字中的输出流,并发送数据 OutputStream os = socket.getOutputStream(); String message="hello tcp server"; byte[] data=message.getBytes(); //因为连接已经建立成功,直到往该连接(socket)的输出流里面写数据,服务端就能收到 os.write(data,0,data.length); //获取嵌套字中的输入流,处理响应数据 InputStream is = socket.getInputStream(); byte[] buffer=new byte[1024]; //堵塞当前进程,直到IO完成读取数据 int length=is.read(buffer); String response=new String(buffer,0,length); System.out.println("服务端响应: "+response); //关闭连接 socket.close(); } } 服务端设计(先启动) public class TCPServer { public static void main(String[] args) throws IOException { //创建服务端嵌套字并监听指定端口 ServerSocket serverSocket=new ServerSocket(10000); System.out.println("服务器已启动,等待客户端连接..."); //监听客户端的链接(直接堵塞当前进程,知道完成与客户端的连接) Socket clientSocket = serverSocket.accept(); //处理客户端请求 System.out.println("客户端已连接"); InputStream is = clientSocket.getInputStream(); byte[] buffer=new byte[1024]; int len=is.read(buffer);//读取缓存中的数据并返回数据长度 String request=new String(buffer,0,len); System.out.println("客户端请求: "+request); //发送数据到客户端 OutputStream os = clientSocket.getOutputStream(); String message="Hello tcp Client"; byte[] data = message.getBytes(); os.write(data,0,data.length); //关闭连接 clientSocket.close(); serverSocket.close(); } }Java中的TCP通信(网络编程二)由讯客互联人工智能栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“Java中的TCP通信(网络编程二)”
上一篇
Kafka:安装与简单使用