Linux下的socket函数接口
作者 佚名技术
来源 Linux系统
浏览
发布时间 2012-04-27
*** * Name : Connect * Description : initiate a connection on a socket * Input : fd---a socket that has been created * sa---a pointer to a sockaddr structure * salen---the size of the address structure * Output : * Return : * Others : by jzk 2009.12.02 **********************************************************************/ void Connect(int fd, const struct sockaddr *sa, socklen_t salen) { if(connect(fd, sa, salen) < 0) perr_exit("connect error"); } /********************************************************************* * Name : Listen * Description : listen for connections on a socket * Input : fd---a socket that has been created * backlog---the maximum length to the queue of * pending connections * Output : * Return : * Others : by jzk 2009.12.02 **********************************************************************/ void Listen(int fd, int backlog) { if(listen(fd, backlog) < 0) perr_exit("listen error"); } /********************************************************************* * Name : Socket * Description : create an endpoint for communication * Input : family---a communication domain * type---the communication semantics * protocol---a particular protocol for the socket * Output : * Return : return a descriptor of the socket * Others : by jzk 2009.12.02 **********************************************************************/ int Socket(int family, int type, int protocol) { int n; if((n = socket(family, type, protocol)) < 0) perr_exit("socket error"); return n; } /********************************************************************* * Name : Read * Description : read from a file descriptor * Input : fd---a socket that has been created * ptr---the buffer which storage the bytes * nbytes---the number of bytes read * Output : * Return : return the number of bytes read * Others : by jzk 2009.12.02 **********************************************************************/ ssize_t Read(int fd, void *ptr, size_t nbytes) { ssize_t n; again: if((n = read(fd, ptr, nbytes)) == -1) { if(EINTR == errno) goto again; else return -1; } return n; } /********************************************************************* * Name : Write * Description : write to a file descriptor * Input : fd---a socket that has been created * ptr---buffer of the bytes |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |
你可能对下面的文章感兴趣
上一篇: select循环的用法举例下一篇: Linux网络的基本配置详解
关于Linux下的socket函数接口的所有评论