ServerSocket()
创建非绑定服务器套接字。
ServerSocket(int port)
创建绑定到特定端口的服务器套接字。
ServerSocket(int port, int backlog)
利用指定的 backlog 创建服务器套接字并将其绑定到指定的本地端口号。
ServerSocket(int port, int backlog, InetAddress bindAddr)
使用指定的端口、侦听 backlog 和要绑定到的本地 IP 地址创建服务器。
accept()
侦听并接受到此套接字的连接。
Socket
getInetAddress()
返回套接字连接的地址。
getInputStream()
返回此套接字的输入流。
getOutputStream()
返回此套接字的输出流。
InetAddress
getHostAddress()
返回 IP 地址字符串(以文本表现形式)。
- IP地址:用来唯一表示我们自己的电脑的,是一个网络标示
- 端口号: 用来区别当前电脑中的应用程序的
- UDP: 传送速度快,但是容易丢数据,如视频聊天,语音聊天
- TCP: 传送稳定,不会丢失数据,如文件的上传、下载
UDP程序交互的流程
1.发送端
1,创建DatagramSocket对象
2,创建DatagramPacket对象,并封装数据
3,发送数据
4,释放流资源
2接收端
1,创建DatagramSocket对象
2,创建DatagramPacket对象
3,接收数据存储到DatagramPacket对象中
4,获取DatagramPacket对象的内容 5,释放流资源
TCP程序交互的流程
客户端
1,创建客户端的Socket对象
2,获取Socket的输出流对象
3,写数据给服务器
4,获取Socket的输入流对象
5,使用输入流,读反馈信息
6,关闭流资源
服务器端
1,创建服务器端ServerSocket对象,指定服务器端端口号
2,开启服务器,等待着客户端Socket对象的连接,如有客户端连接,返回客户端的Socket对象
3,通过客户端的Socket对象,获取客户端的输入流,为了实现获取客户端发来的数据
4,通过客户端的输入流,获取流中的数据
5,通过客户端的Socket对象,获取客户端的输出流,为了实现给客户端反馈信息
6,通过客户端的输出流,写数据到流中
7,关闭流资源