c语言send函数返回值,c语言printf函数返回值
C语言 send()函数理解
使用函数getsockopt获得发送缓冲区的长度。用法如下:
创新互联建站网站建设公司,提供成都网站设计、成都做网站,网页设计,建网站,PHP网站建设等专业做网站服务;可快速的进行网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,是专业的做网站团队,希望更多企业前来合作!
int sockfd;
int val;
int len;
sockfd = socket (AF_INET, SOCK_STREAM, 0);
len = sizeof (val);
getsockopt( sockfd, SOL_SOCKET, SO_SNDBUF, val, len);
printf ("sndbuf len=%d\n", val);
在32位linux系统上发送缓冲区为16K ,可以使用setsockopt()修改,会影响网络性能
send(clientsocket,(char*)&b,sizeof(b),0)
你问的是两个问题
第一个问题,send函数中第4个参数的含义,send函数原型
int PASCAL FAR send( SOCKET s, const char FAR* buf, int len, int
flags);
s:一个用于标识已连接套接口的描述字。
buf:包含待发送数据的缓冲区。
len:缓冲区中数据的长度。
flags:调用执行方式。
flags可以为0、MSG_DONTROUTE或者MSG_OOB
0 :表示无特殊行为
MSG_DONTROUTE :指明数据不选径,一个WINDOWS套接口供应商可以忽略此标志
MSG_OOB : 发送带外数据(仅适用于SO_STREAM)
第二个问题,send函数返回值
因为send函数发送失败时返回SOCKET_ERROR
SOCKET_ERROR宏定义为#define SOCKET_ERROR (-1)
所以该语句是判断发送是否失败。
c语言。sendbyte()函数
语法上看:
P2=0xC0;//p2 与等于 0xc0,相当 P2 = P20XC0,
sendbyte(data1);//把data1变量作为参数传给函数sendbyte,看函数名,似乎是要发送数据的样子
P2|=0x01;//这句 相当于 P2 = P2|0X01,作用是将P2的最低位值1
分享文章:c语言send函数返回值,c语言printf函数返回值
文章链接:http://scyanting.com/article/hohjji.html