Chinaunix首页 | 论坛 | 博客
  • 博客访问: 38461
  • 博文数量: 7
  • 博客积分: 171
  • 博客等级: 入伍新兵
  • 技术积分: 85
  • 用 户 组: 普通用户
  • 注册时间: 2011-08-04 22:13
文章分类

全部博文(7)

文章存档

2012年(3)

2011年(4)

我的朋友

分类: LINUX

2011-09-02 10:07:51

    流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较好。
阅读(5099) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:linux驱动与vim

给主人留下些什么吧!~~