Java TCP Socket编程

一、TCP Socket

1. Socket可以执行的基本操作:
  • 连接远程机器
  • 发送数据
  • 接收数据
  • 关闭连接
  • 绑定端口
  • 监听入站数据
Java的Socket类可同时用于客户端和服务器,它有对应于前四项操作的方法。后三项操作只有服务器才需要,即等待客户端的连接。这些操作通过ServerSocket类实现。


2. 工作流程

(1)客户端Socket的基本生命周期:
  • 创建socket
  • 用给定IP与PORT尝试连接(也可直接在创建时连接)
  • 建立连接后,从socket获取输入输出流,开始发送、接受数据
  • 关闭连接

例程:TCPClient.java


(2)服务器Socket:
服务器socket运行于服务器,监听入站TCP连接。每个socket服务器监听服务器及其的某个端口,当远程主机的客户端尝试连接此端口时,服务器就被唤醒,协商客户端与服务器之间的连接,并返回一个表示两台主机间socket的Socket对象。数据总是通过一般的socket传输。

服务器程序的基本生命周期:
  • 使用ServerSocket构造函数在某个端口创建一个新的ServerSocket
  • ServerSocket使用accept方法监听此端口的入站连接。accept会一直阻塞,直到客户端尝试连接,这时accept将返回一个连接客户端和服务器的Socket对象。
  • 从socket获取输入输出流,发送、接受数据
  • 关闭连接
  • 服务器继续监听下一次连接

例程:TCPServer.java


参考:《Java网络编程》

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值