UNIX环境高级编程:网络编程常用函数及结构
关闭双向通道 int close (int sockfd); int shutdown(int sockfd, int howto) //SHUT_RD关闭读终端,SHUT_WR关闭写终端。 返回值: 成功:0 失败:-1 接收、发送数据(TCP) ssize_t recv(int socket, void *buffer, size_t length, int flages);//接收数据 ssize_t send(int socket, const void *buffer, size_t length, int flags)//发送数据 头文件: #incldue <sys/socket.h> 参数: socket: 已经连接的Socket。 buffer: 指向用于接收数据的缓冲区的指针。 length: 缓冲区的大小(字节)。 flags: MSG_OOB或0(send()还有etc). 返回值: 成功接收或发送的字节数。 失败返回-1,并设置errno。 recv返回0,连接断开。 接收、发送数据(UDP) 头文件: #include < sys/types.h > #include < sys/socket.h > 接收远程主机经指定的socket传来的数据(接收) ssize_t recvfrom(int sockfd, //套接字描述符 void *buf, //缓冲区 int len, //可接收数据的最大长度. unsigned int flags, //一般设0, struct sockaddr *from, //指定欲传送的网络地址 socket_t *fromlen); //结构长度 ssize_t 相当于 int,socket_t 相当于int 。 返回值: 成功则返回接收到的字符数, 失败返回-1. 将数据由指定的socket传给对方主机(发送) int sendto ( int s , //已建好连线的socket,如果利用UDP协议则不需经过连线操作 const void * msg, //发送缓冲区 int len, // 发送的数据大小 unsigned int flags, //一般设0 const struct sockaddr * to , //指定欲传送的网络地址 int tolen ) //sockaddr的结果长度 返回值 成功则返回实际传送出去的字符数, 失败返回-1,并设置errno 。 使用文件描述符的函数处理套接字时的行为 (编辑:云计算网_泰州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |