socket()
#include <sys/socket.h>
int socket(int family, int type, int protocol);
- family:指定协议族,也称为协议域。取值为下面中的一个
- type:指明套接字类型
- SOCK_STREAM:是有保障的(即能保证数据正确传送到对方)面向连接的SOCKET,多用于资料(如文件)传送。
- SOCK_DGRAM:是无保障的面向消息的socket,主要用于在网络上发广播信息。
SOCK_STREAM是基于TCP的,数据传输比较有保障。
SOCK_DGRAM是基于UDP的,专门用于局域网,基于广播
SOCK_STREAM 是数据流,一般是tcp/ip协议的编程
SOCK_DGRAM分是数据抱,是udp协议网络编程 - protocol:协议类型常值,设为0的话表示选择所给定的family和type组合的系统默认值。
消息阻塞
阻塞就是让当前调用线程一直处于停止等待当中,挂起的状态,线程函数会被卡住。
非阻塞则是不管运行结果如何,都会继续往下执行(往往都要处理很多返回结果),线程函数里一般都是一个循环,不停的轮询。