Socket通讯编程
此随笔是站在巨人的肩膀上总结的! 1)socket的概念 Socket也称‘套接字’,用于描述IP地址和端口,是一个通讯链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。网络上的两个程序通过一个双向的通信连接实现数据的交换,这个连接的一端称为一个Socket。建立网络通信连接至少是要一对端口号(Socket)。 Socket本质是编程接口,是对TCP/IP的封装。Socket编程接口——程序员进行网络开发所用接口。比喻一番:如果说HTTP是轿车,提供了封装或者显示数据的具体形式;那么Socket是发动机,提供了网络通信的能力。 那么Socket跟TCP/IP协议之间是怎么个关系呢?先来看看下面那张图: 图一 2)Socket起了什么作用? Socket是应用层与 TCP/IP协议族(包括运输层、网络层、链路层)通信的中间软件抽象层,它是一组接口。在设计模式中, Socket其实就是一个门面模式,它把复杂的 TCP/IP协议族隐藏在 Socket接口后面,对用户来说,一组简单的接口就是全部,让 Socket去组织数据,以符合指定的协议。 3)Socket编程的工作原理 举个生活中的场景: 你要打电话给一个朋友,先拨号,朋友听到电话铃声后提起电话,这时你和你的朋友就建立起了连接,就可以讲话了。等交流结束