socket网络编程的相关函数
来源:互联网 发布:ubuntu 磁盘空间 查看 编辑:程序博客网 时间:2024/05/16 18:51
1.WSAStartup函数
用于初始化Winsock
[声明]
int WSAStarup(WORD wVersionRequested,LPWSADATA lpWSAData);
[参数]
wVersionRequested - 要求使用Winsock的最低版本号
lpWSAData - Winsock的详细资料
[返回值]
当函数成功调用时返回0
失败时返回非0的值
2.socket函数
用于生成socket(soket Descrīptor)
[声明]
SOCKET socket(int af,int type,int protocol);
[参数]
af - 地址家族(通常使用:AF_INET)
type - socket的种类
SOCK_STREAM : 用于TCP协议
SOCK_DGRAM : 用于UDP协议
protocol - 所使用的协议
[返回值]
当函数成功调用时返回一个新的SOCKET(Socket Descrīptor)
失败时返回INVALID_SOCKET.
3.inet_addr函数
把好象"xxx.xxx.xxx.xxx"的10进制的IP地址转换为32位整数表示方法
[声明]
unsigned long inet_addr ( const char FAR *cp );
[参数]
cp - 指向用"xxx.xxx.xxx.xxx"的10进制来表示的IP地址字符串的指针
[返回值]
当函数成功调用时返回用32位整数表示的IP地址(按网络字节排列顺序)
失败时返回INADDR_NONE.
4.gethostbyname函数
可以从主机名获取主机资料.
[声明]
struct hostent FAR * gethostbyname ( const char FAR *name );
[参数]
name - 指向主机名字符串的指针
[返回值]
当函数成功调用时返回主机信息
失败时返回NULL(空值)
5.Bind函数
指定本地IP地址所使用的端口号时候使用
[声明]
int bind ( SOCKET s , const struct sockaddr FAR *addr , int namelen );
[参数]
s - 指向用Socket函数生成的Socket Descrīptor
addr - 指向Socket地址的指针
namelen - 该地址的长度.
[返回值]
当函数成功调用时返回0
调用失败时返回 SOCKET_ERROR
6.connect函数
用于与服务器建立连接,发出连接请求,必须在参数中指定服务器的IP地址和端口号
[声明]
int connect (SOCKET s , const struct sockaddr FAR *name , int namelen );
[参数]
s - 指向用Socket函数生成的Socket Descrīptor
name - 指向服务器地址的指针
namelen - 该地址的长度.
[返回值]
当函数成功调用时返回0
调用失败时返回 SOCKET_ERROR
7.select函数
可以用于调查一个或多个SOCKET的状态.
[声明]
int select ( int nfds , fd_set FAR *readfds , fd_set FAR *writefds ,fd_set FAR *exceptfds , const struct timeval FAR *timeout );
[参数]
nfds - 在WINDOWS SOCKET API 中该参数可以忽略,通常赋予NILL值
readfds - 由于接受的SOCKET设备的指针
writefds - 用于发送数据的SOCKET设备的指针
exceptfds - 检查错误的状态
timeout - 超时设定
[返回值]
返回大于0的值时,表示与条件相符的SOCKET数
返回0表示超时
失败时返回SOCKET_ERROR
8.recv函数
利用Socket进行接受数据.
[声明]
int recv ( SOCKET s , char FAR *buf , int len , int flags );
[参数]
s - 指向用Socket函数生成的Socket Descrīptor
buf - 接受数据的缓冲区(数组)的指针
len - 缓冲区的大小
flag - 调用方式(MSG_PEEK 或 MSG_OOB)
[返回值]
成功时返回收到的字节数.
如果连接被中断则返回0
失败时返回 SOCKET_ERROR
9.sendto函数
利用Socket进行发送数据.
[声明]
int sendto ( SOCKET s , const char FAR *buf , int len , int flags , const struct sockaddr FAR *to , int token );
[参数]
s - 指向用Socket函数生成的Socket Descrīptor
buf - 接受数据的缓冲区(数组)的指针
len - 缓冲区的大小
flag - 调用方式(MSG_DONTROUTE , MSG_OOB)
to - 指向发送方SOCKET地址的指针
token - 发送方SOCKET地址的大小
[返回值]
成功时返回已经发送的字节数.
失败时返回SOCKET_ERROR
以上适合于基于UDP的socket套接字编程,和TCP的socket主要区别在创建socket的时候选择的数据流方式,然后就是在发送和接收的函数是不同的.下次会写上关于socket的详细资料.
- socket网络编程的相关函数
- 网络socket编程相关函数
- socket网络编程(2):socket操作相关函数
- 网络(2):网络配置&socket编程相关的函数选项及异常处理
- IO特性(1): socket相关的几个高级IO函数(Unix网络编程笔记)
- UNIX网络编程7 利用tdpdump理解socket相关函数和数据包的时序
- socket网络编程函数
- socket网络编程的一些基本函数
- 网络编程socket accept函数的理解
- 网络编程相关函数
- TCP/IP相关的网络编程函数
- Linuxc网络编程的相关函数
- 网络编程的相关函数2
- 1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client
- 1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client
- 网络编程中tcp,socket,http 的相关知识
- 网络编程socket相关错误号及信息的获取
- Socket网络编程常用函数
- C++--localtime与时区
- C#操作Word辅助类(word2003)
- 画图
- 【转贴】Mach-II 体系
- wine移植研究文档
- socket网络编程的相关函数
- 体验OPhone——彻底改变了我对它的看法
- “狼”终于来了——写在中国联通定制iphone上市前
- 另眼看待G3上网本
- 由Google推出正版音乐的免费下载服务想到的
- 重组后的中国移动该怎么样看待WLAN?
- C# 中的委托和事件
- 互联网的建设者 --由阿里巴巴并购万网想到的
- 移动综合维护中心感受