java socket原理
时间: 2024-08-14 21:09:50 浏览: 53
Java Socket是Java平台提供的一种网络通信API,它基于TCP/IP协议,允许程序之间通过网络进行全双工通信。Socket主要包括两个部分:套接字(Socket)和服务器套接字(ServerSocket)。
1. **套接字(Socket)**:客户端创建的一个连接到远程服务器的对象,用于发送数据请求并接收响应。它包含了远程主机名和端口号,可以建立一对一的连接。
2. **服务器套接字(ServerSocket)**:服务器端创建的,监听特定的端口等待客户端连接。当有新的连接请求时,它会创建一个新的Socket实例,即客户端Socket,然后开始通信。
工作流程通常是这样的:
- 客户端创建Socket实例,指定服务器地址和端口,并尝试连接。
- 服务器端创建ServerSocket实例,绑定到特定的端口上,然后进入accept()循环等待客户端连接。
- 当有客户端连接时,ServerSocket.accept()返回一个新的Socket实例,代表客户端连接。
- 客户端和服务器通过这两个Socket进行双向数据传输。
阅读全文