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