菜单
  

            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 被信号所中断.

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

  2. microsoft.xmlhttp组件的用法和属性

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

  4. FileSystemWatcher的C#的FileSystemWatcher用法

  5. python中yield的用法举例

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

  7. explicit c++中的作用和用法

  8. 玫瑰精油特征香气成分研究

  9. 多级反馈队列调度算法的研究+源代码

  10. Toeplitz定理及其应用+文献综述

  11. 从何红舟《桥上的风景》中感受油画构成美

  12. 运动员广告形象塑造文献综述和参考文献

  13. 甲硫醇钠生产工艺设计任务书

  14. 身体自尊量表(PSPP)

  15. 街头游园设计

  16. 货币国际化国内外研究现状

  17. 进出口贸易与经济增长文献综述和参考文献

  

About

优尔论文网手机版...

主页:http://www.youerw.com

关闭返回