第二章 套接字类型与协议设置

《TCP/IP网络编程》 尹圣雨

P26~P32

协议:计算机之间对换必备通信规则。协议就是为了完成数据交换而定好的约定。


第一章 理解网络编程和套接字


创建套接字 

#include<sys/socket.h>
int socket(int domain ,int type, int protocol);//成功时返回文件描述符,失败返回-1

domain:套接字使用的协议族信息;type:套接字数据传输类型信息;protocol:通信使用的协议信息。


注意:(1)Protocol family协议族,只关注 PF_INET(IPv4互联网协议族)。另外套接字实际采用的最终协议信息是通过socket函数的第三个参数传递的。在指定的协议族范围内通过第一个参数决定第三个参数。

(2)套接字类型Type,即套接字的数据传输方式,通过函数的第二个参数的传递,才能决定创建的套接字的数据传输方式。

1)面向连接的套接字SOCK_STREAM(可靠、按序传递、基于字节的面向连接的数据传输方式的套接字)

传输方式特征:传输过程中数据不会丢失;按序传输数据;传输的数据不存在数据边界;套接字连接必须一一对应。

收发数据的套接字内部有缓冲buffer,即字节数组。

在面向连接的套接字中,read函数和write函数的调用次数并无太大意义。

面向连接的套接字只能与另外一个同样特性的套接字连接


2)面向消息的套接字SOCKET_DGRAM(不可靠、不按次序传递、以数据的高速传输为目的的套接字)

传输方式特征:强调快速传输而非传输顺序;数据可能丢失或损毁;传输数据有数据边界;限制每次传输的数据大小。

传递前两个参数即可创建套接字,所有大部分情况下可以向第三个参数传递0。

注意 IPv4与网络地址系统相关。


TCP套接字:int tcp_socket=socket(PF_INET,SOCK_STREAM,IPPRO_TCP); 

UDP套接字:int udp_socket=socket(PF_INET,SOCK_DGRAM,IPPRO_UDP);





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值