1.WSAstartup(连接WinSocket库) 原型如下:
Int WSAStartup (
Word WVersionregusested,
LPWSADATA LPWSAData
);
应用程序在使用Winsock API之前必须调用此函数,只有当此函数返回(表示应用程序与Winsock库成功建立起连接),应用程序才可以调用其它 Windows Sockets DLL 中的函数.
2. WSACleanup(断开与Winsocket库的连接)原型如下:
Int WSACleanup (Void);
应用程序在使用完Socket库函数之后,必须使用这个函数来释放所占用的内存.
3. Socket(套接字建立函数) 原型如下
SOCKET Socket(
Int af,
int type,
int Protocol
);
使用该函数可以建立使用特定协议的网络套接字,例如UDP协议的写法
var
S : TSocket;
begin
WSAStartup();
S :=Socket(AF_INET,SOCK_DGRAM,IPPROTO_UDP);
WSACleanup;
end;
4. bind(套接字绑定函数) 原型如下:
Int bind (
SOCKET S,
coust struct sockaddr FAR* name,
int namelen
);
s : 是通过Socket建立的套接字, addr是指向描述通讯对象的结构体(TSockAddr)的指针,namelen是TSockAddr结构体的长度
TSockAddr结构体有三个成员.
1. IP地址
2. 端口
3. 地址类型
5. listen(套接字监视函数) 原型如下:
int listen(
SOCKET s,
int backlog
);
listen一般用于服务端程序.
s 是刚才用socket创建的套接字. backlog用于设定等待连接的客户数(目前最大值为5最小值为1)
6. accept(接受连接请求)原型如下
SOCKET accept (
SOCKET s,
struct sockaddr FAR* addr,
int FAR* addrlen
);
服务端程序用此函数来接受客户端的socket请求,accpet的返回值是一个新的socket套接字,用这个新的套接字来与当前连接的客户端通信,以前的socket套接字还会保留用来与其它客户端连接.
7. recv(接收信息)原型如下:
int recv (
SOCKET s,
char FAR* buf,
int len,
int flags
);
此函数用于面向连接的Socket中,以便能从另一端接收信息.
8.Send(发送信息)原型如下:
int send (
SOCKET s
const char FAR* buf,
int len,
int flags
);
此函数用于面向连接的Socket中,以便于能发送信息到另一端.
》以上8个是Windows Socket 编程主要的几个函数