流socket与数据报socket

     流socket形参type值为SOCK_STREAM,使用的网络协议是TCP协议(传输控制协议),其流程是客户建立socket,通过 connect与服务器连接,read和write传送数据。在服务器端先建立连接,向内核申请socket,返回socket标识符,调用bind,将 目标地址分配给socket,listen请求内核允许socket接入呼叫,accept接受呼叫,read和write传送呼叫。
    数据报socket形参type值为SOCK_DGRAM,使用的协议为UDP(用户数据报协议),其流程是客户建立socket,传入主机号和目的端口,sendto发送消息。服务器建立socket,recvfrom接受消息,应答。
    流socket会分成若干较小的socket,具备分割、排序、重组的功能,传输过程中,内核会给数据加上发送信息和目的信息,传输中断对其影响不大,数 据报socket则不给数据加编号标签,在目的地也不重组。流socket得先建立连接,然后通信,数据报则不用,它就像发送邮件一样,不用连接,有需要 就向服务器发送数据。因此数据报对于可以丢帧的音乐、视频流是好的选择,而流对web服务器和email较好。

 

http://blog.chinaunix.net/uid-26133171-id-2564370.html

posted on 2014-03-01 12:12  berkeleysong  阅读(580)  评论(0编辑  收藏  举报

导航