SOCKET PASCAL FAR socket( int af, int type, int protocol ) 参数: af:目前只提供 PF_INET(AF_INET); type:Socket 的类型 (SOCK_STREAM、SOCK_DGRAM); protocol:通讯协定(如果使用者不指定则设为0);
3)绑定端口
int PASCAL FAR bind( SOCKET s, conststruct sockaddr FAR *name,int namelen ); 参 数: s:Socket对象名; name:Socket的地址值,这个地址必须是执行这个程式所在机器的IP地址; namelen:name的长度;
4)监听
int PASCAL FAR listen( SOCKET s, int backlog ); 参 数: s:需要建立监听的Socket; backlog:最大连接个数; int PASCAL FAR WSAAsyncSelect( SOCKET s, HWND hWnd,unsigned int wMsg, long lEvent ); 参数: s:Socket 对象; hWnd :接收消息的窗口句柄; wMsg:传给窗口的消息; lEvent:被注册的网络事件,也即是应用程序向窗口发送消息的网路事件,该值为下列值FD_READ、FD_WRITE、FD_OOB、FD_ACCEPT、FD_CONNECT、FD_CLOSE的组合,各个值的具体含意为FD_READ:希望在套接字S收到数据时收到消息;FD_WRITE:希望在套接字S上可以发送数据时收到消息;FD_ACCEPT:希望在套接字S上收到连接请求时收到消息;FD_CONNECT:希望在套接字S上连接成功时收到消息;FD_CLOSE:希望在套接字S上连接关闭时收到消息;FD_OOB:希望在套接字S上收到带外数据时收到消息。
5)服务器端接受客户端的连接请求
SOCKET PASCAL FAR accept( SCOKET s, struct sockaddr FAR *addr,int FAR *addrlen ); 参数:s:Socket的识别码; addr:存放来连接的客户端的地址; addrlen:addr的长度
6)结束 socket 连接
int PASCAL FAR closesocket( SOCKET s ); 参 数:s:Socket 的识别码; int PASCAL FAR WSACleanup( void ); 参 数: 无
三、客户端Socket的操作
1)建立客户端的Socket
2)提出连接申请
int PASCAL FAR connect( SOCKET s, conststruct sockaddr FAR *name, int namelen ); 参 数:s:Socket 的识别码; name:Socket想要连接的对方地址; namelen:name的长度
四、数据的传送
int PASCAL FAR send( SOCKET s, constchar FAR *buf,int len, int flags ); 参数:s:Socket 的识别码 buf:存放要传送的资料的暂存区 len buf:的长度 flags:此函数被调用的方式
int PASCAL FAR recv( SOCKET s, char FAR *buf, int len, int flags ); 参数:s:Socket 的识别码 buf:存放接收到的资料的暂存区 len buf:的长度 flags:此函数被调用的方式