Socket网络编程之概述理解

今天主要讲讲什么是socket网络编程

socketde 英文原义是“孔”或者“插座”。是进程通讯的一种方式,即调用这个网络库的一些API函数实现分布在不同主机的相关进程之间的数据交换。通常也被称作“套接字”,用关于描述IP地址和端口,是一个通信链的句柄

也类似于电话插座。举个电话网例子:电话的通话双方相当于相互通信的两个程序,电话号码就是IP地址。

任何用户在通话之前,首先要占用一部电话机,相当于申请一个socket;同时要知道对方的号码,相当于对方的有一个固定socket。

然后向对方拨号呼叫,相当于发出连接请求。对方假如在场并空闲,拿起电话话筒,双方就可以正式通话了,相当于连接成功。双方通话的过程,是一方向电话机发出信号和对方从电话机接受信号的过程,相当于向socket发送数据和从socket接受数据。通话结束后,一方挂起电话机相当于关闭socket,撤销连接

socket有两种类型:

  1. 流式Socket(STREAM):是一种面向连接的Socket,针对于面向连接的TCP服务应用,安全,但是效率较低
  2. 数据报式Socket(DATAGRAM):是一种无连接的Socket对应于无连接的UDP服务应用,不安全(丢失,顺序混乱,在接受端要分析重排及要求重发),但效率高

socket应用程序(服务端和客户端)

 

总结人通过【电话】可以通信

           程序通过【Socket】来通信

          eg:你和别人是打电话   电话 规定好的语言

                  电脑和电脑进行联系    Socket和http协议

 

posted @ 2017-11-16 21:52  专于技术的菜鸟  阅读(1120)  评论(0编辑  收藏  举报