printf("Write success, pid: %d\n", getpid());

 

    } else if(pid == 0) {

        //关闭另外一个套接字

        close(socket_pair[0]);

        read(socket_pair[1], buf, sizeof(buf));        

        printf("Read result: %s, pid: %d\n",buf, getpid());

    }

 

    for(;;) {

        sleep(1);

    }

 

    return EXIT_SUCCESS;    

sendmsg, recvmsg , send函数的使用

sendmsg, recvmsg , send三个函数的头文件:

 

#include <sys/types.h>  

#include <sys/socket.h>

sendmsg函数 

定义函数

 

          int sendmsg(int s, const strcut msghdr *msg, unsigned int flags);

 

函数说明:sendmsg()用来将数据由指定的socket传给对方主机. 

参数s:为已建立好连线的socket, 如果利用UDP协议则不需经过连线操作. 

参数msg:指向欲连线的数据结构内容, 参数flags 一般默认为0, 详细描述请参考send(). 

返回值:成功返回发送的字节数,出错返回-1

 

recvmsg函数 

定义函数

 

int recvmsg(int s, struct msghdr *msg, unsigned int flags);

函数说明:recvmsg()用来接收远程主机经指定的socket 传来的数据. 

参数s 为已建立好连线的socket, 如果利用UDP 协议则不需经过连线操作. 

参数msg 指向欲连线的数据结构内容, 

参数flags 一般设0, 详细描述请参考send(). 

返回值:成功则返回接收到的字符数, 失败则返回-1, 错误原因存于errno 中.

 

send函数 

定义函数:int send(int s, const void * msg, int len, unsigned int falgs); 

函数说明:send()用来将数据由指定的socket 传给对方主机. 

参数s 为已建立好连接的socket. 

参数msg 指向欲连线的数据内容. 

参数len 则为数据长度. 

参数flags 一般设0, 其他数值定义如下: 

MSG_OOB 传送的数据以out-of-band 送出. 

MSG_DONTROUTE 取消路由表查询 

MSG_DONTWAIT 设置为不可阻断运作 

MSG_NOSIGNAL 此动作不愿被SIGPIPE 信号中断. 

返回值:成功则返回实际传送出去的字符数, 失败返回-1. 错误原因存于errno.

 

结构msghdr定义如下:

 

struct msghdr

{

    void *msg_name; //发送或接收数据的地址

    socklen_t msg_namelen; //地址长度

    strcut iovec * msg_iov; //要发送或接受数据

    size_t msg_iovlen; //容器数据长度

    void * msg_control; //附属数据

    size_t msg_controllen; //附属数据长度

    int msg_flags; //接收消息的标志

};

返回值:成功则返回实际传送出去的字符数, 失败返回-1, 错误原因存于errno 

错误代码:

 

1、EBADF 参数s 非合法的socket 处理代码.

2、EFAULT 参数中有一指针指向无法存取的内存空间

3、ENOTSOCK 参数s 为一文件描述词, 非socket.

4、EINTR 被信号所中断.

上一篇:关心下一代工作委员会工作心得体会
下一篇:<activity-alias>标签详解和使用

havehas的用法

microsoft.xmlhttp组件的用法和属性

SendMessage函数用法详解及消息详解

FileSystemWatcher的C#的FileSystemWatcher用法

python中yield的用法举例

@Deprecated注解功能用法不建议使用废弃的

explicit c++中的作用和用法

羟肟类萃取剂对嗜酸氧化...

试析多元智能理论茬体育...

信息技术茬旅游专业教學...

基于中频信号的家用治疗...

PF--1415反击式破碎机箱体设计开题报告

浅议体态律动在小学音乐课堂教学中的运用

旅游英语推进邢台市旅游...

摩羯座运势2022,摩羯座...

浅谈岗位廉洁教育的方法与途径【3858字】

湖南长沙市生育津贴政策...