Socket 的两个方法, getInputStream() 和 getOutputStream() 方,分别用来得到输入和输出。服务器可以不断接收客户机所写入的信息只到。客户机发送"End" 字符串就退出程序。并且服务器也会做出"Receive" 为回应。 Socket 描述符是一个指向内部数据结构的指针,它指向描述符表入口。调用 Socket 函数时, socket 执行体将建立一个 Socket ,实际上" 建立一个 Socket" 意味着为一个 Socket 数据结构分配存储空间。 Socket 执行体为你管理描述符表。两个网络程序之间的一个网络连接包括五种信息:通信协议、本地协议地址、本地主机端口、远端主机地址和远端协议端口。 Socket 数据结构中包含这五种信息。一、 Socket 程序的工作过程: 1.建立 Socket 连接: 在通信开始之前由通信双方确认身份,建立一条专用的虚拟连接道。 2.数据通信:利用虚拟连接通道传送数据信息进行通信。 3.关闭:通信结束时,再将所建的虚拟连接拆除。具体如下: HGJKSHGSJKNGLSKJGL;AJAKLHGL;JKSLHGKLHGKAHKLG ADFHKLADHGKLDHGLKAHGJKLDHAG;DHGJKAHLJHALDLK 1 服务器 serversocket 2 监听 4. 连接 5读 6写 7 关闭 3 客户端 socket 6读 5写 7 关闭图 2-1 Socket 程序的工作过程二、三次握手协议: 第一次握手:原主机发送一个带有本次连接的序号的请求的一个数据帧第二次握手:目的主机收到请求后,如果同意连接,则发回一个带有一个本次连接序号和源端机连接序列号的确认。第三此握手:源端机收到含有两次初始序列号的应答后,再向目的主机发送一个带有两次连接的序列号的确认。具体过程如下: 图 2-2 三次握手协议