接这上回记,udp 常用做对视频,语音传送数据时传输。而tcp 常用作上传下载数据。 因为udp 无论接收方在不在它都发送
而tcp 接收方(服务器) 不存在时,这无法传输。
tcp 有这么几个 小特点。
tcp 是一个叫Socket 对象 封装了一组 IO流。 数据是IO流负责传输的。
而 Socket 也封装了 发送的一些信息 列入端口, ip 等。 也就不称作为 客户端。
接收端 需要用 ServerSocket 接收。那么他们和 udp不同的是。 udp是用数据包(DatagramPacket)来传输数据和携带信息的
而tcp接收端 ServerSocket 是把 客户端的 Socket 当做数据包来传输的。 accpet 方法可以获取一个 向同一 地址和端口的 发送端的Socket 客户端对象。 那么里面封装这一组IO流。 接收端不能直接操作IO 只能先获取 相对应的 Socket 再获取 io 它被称作为 服务器端
那么udp 中 发送端 和接收端 哪一个先开启都无所谓。而 tcp 则 必须先开启服务端。没有接收端 是无法发送的。
那么 下面就附图 搞个小程序。


main方法还是老样子 两个线程 一个发一个 收 互相发送接收。 搞定。 注意 一定要先 启动 服务端的线程 切记 同志们。
服务器 底层 就是用到tcp 技术。
服务器是单线程。但在数据交互的时候会把客户端发过来的socket 对象 封装到 线程中进行 多线程处理。
accept方法是线程阻塞 方法。服务端会等待 客户端发来的socket对象。
服务端封装的是io流。 当读取完数据时 要让客户端来 传输一个结束标记来提醒服务端结束 读取动作。
shutdownOutputStream 此方法 可以 发送结束标记。客户端调用。
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
