Socket编程之六类函数

考试复习期间匆忙整理,如有错误请在评论中指出。

第一类:套接字函数

功能:完成套接字的创建、关闭以及对套接字的命名和名字获取。

函数名 功能
SOCKET socket (int af, int type, int protocol) 创建套接字
int bind (SOCKET s, const struct sockaddr FAR *name, int namelen) 给套接字绑定本地地址和端口
int closesocke (SOCKET s) 关闭套接字
getpeername() 获取指定套接字连接的对等方的地址和端口号
getsockname() 获取指定套接字关联的地址和端口号

第二类:网络连接函数

功能:完成网络连接的建立与关闭。

函数名 功能
int listen ( SOCKET s, int backlog ) 在指定套接字上监听外来连接
int connect ( SOCKET s, const struct sockaddr FAR* name, int namelen ) 在指定套接字上与远程主机建立连接
SOCKET accept ( SOCKET s, struct sockaddr FAR* addr, int FAR* addrlen ) 确认外来连接,并将它与一个立即建立起来的数据套接字联系起来
int shutdown (SOCKET s,int how) 关闭全双工连接中一个方向上的连接

第三类:数据传输函数

功能:完成数据的发送与接收。

函数名 功能
int send ( SOCKET s, const char FAR* buf, int len, int flags) 使用面向连接的套接字发送数据
int recv ( SOCKET s, char FAR* buf, int len, int flags) 从一个面向连接的套接字上接收数据
int sendto (SOCKET s, const char* buf, int len, int flags, const sockaddr* to, int tolen) 使用面向连接或无连接的套接字发送数据
int recvfrom (SOCKET s, char* buf, int len, int flags, sockaddr* from, int* fromlen) 从一个面向连接或无连接的套接字上接收数据

第四类:字节顺序转换函数

功能:完成主机字节顺序和网络字节顺序之间的转换

函数名 功能
htonl() 将一个32位整数从主机字节序转换为网络字节序
htons() 将一个16位整数从主机字节序转换为网络字节序
ntohl() 将一个32位整数从网络字节序转换为主机字节序
ntohs() 将一个16位整数从网络字节序转换为主机字节序

第五类:地址转换函数

功能:完成IP地址的点分十进制形式和二进制整数形式之间的转换。

函数名 功能
u_long inet_addr(const char FAR *cp) 将一个点分十进制的字符串ip转换成整数形式的
char* inet_ntoa ( struct in_addr in) 将整数表示的ip转换成点分十进制的字符串的形式

第六类:套接字控制函数

功能:设置/获取套接字的选项;控制/检测套接字的工作状态。

函数名 功能
getsockopt() 获取与指定套接字相关的选项
setsockopt() 设置与指定套接字相关的选项
ioctlsocket() 为套接字提供控制
select() 获得一组套接字的状态,以实现异步I/O操作

推荐文档:

发布了46 篇原创文章 · 获赞 53 · 访问量 8万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术工厂 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览