winsock 函式宣告大全

2021-06-27 10:43:51 字數 4632 閱讀 9875

一、 基本socket函式

1.accept()*   //響應連線請求,並且新建乙個套接字,原來的套介面返回監聽狀態

accept(s: tsocket; addr: psockaddr; addrlen: pinteger): tsocket; stdcall;

2.bind()  // 把乙個本地的名字和無名的套接字**起來

bind(s: tsocket; var addr: tsockaddr; namelen: integer): integer; stdcall;

3.closesocket() //關閉套接字

closesocket(s: tsocket): integer; stdcall;

4.connect()*  // 初始化到乙個指定套介面上的鏈結

connect(s: tsocket; var name: tsockaddr; namelen: integer): integer; stdcall;

5.getpeername()  //得到連線在指定套介面上的對等通訊方的名字

getpeername(s: tsocket; var name: tsockaddr; var namelen: integer): integer; stdcall;

6.getsockname()  //得到指定套介面上當前的名字

getsockname(s: tsocket; var name: tsockaddr; var namelen: integer): integer; stdcall;

7.getsockopt()  //得到與制定套介面相關的屬性選項

getsockopt(s: tsocket; level, optname: integer; optval: pchar; var optlen: integer): integer; stdcall;

8.htonl()  //把32位的數字從主機位元組順序轉換到網路位元組順序

htonl(hostlong: u_long): u_long; stdcall;

9.htons()  //把16位的數字從主機位元組順序轉換到網路位元組順序

htons(hostshort: u_short): u_short; stdcall;

10.inet_addr()  //把乙個internet標準的點分十進位制位址轉換成internet位址數值

inet_addr(cp: pchar): u_long; stdcall;

11.inet_ntoa()   //把internet位址轉換成點分十進位制的字串

inet_ntoa(inaddr: tinaddr): pchar; stdcall;

12.ioctlsocket()  //為套接字提供控制

ioctlsocket(s: tsocket; cmd: dword; var arg: u_long): integer; stdcall;

13.listen()   //監聽套接字上連線請求的到來

listen(s: tsocket; backlog: integer): integer; stdcall;

14.ntohl()    //把32位的數字從網咯位元組順序轉換為主機位元組順序

ntohl(netlong: u_long): u_long; stdcall;

15.ntohs()   //把16位的數字從網咯位元組順序轉換為主機位元組順序

ntohs(netshort: u_short): u_short; stdcall;

16.recv()*    //從已經連線的套接字接受資料

recv(s: tsocket; var buf; len, flags: integer): integer; stdcall;

17.recvfrom()*  //從已連線的或沒有連線的套介面接受資料

recvfrom(s: tsocket; var buf; len, flags: integer; var from: tsockaddr; var fromlen: integer): integer; stdcall;

18.select()*   //執行同步io多路復用

select(nfds: integer; readfds, writefds, exceptfds: pfdset;timeout: ptimeval): longint; stdcall;

19.send()*   //從已連線的套幾口傳送資料

send(s: tsocket; var buf; len, flags: integer): integer; stdcall;

20.sendto()*  //從已連線的或沒有連線的套介面傳送資料

sendto(s: tsocket; var buf; len, flags: integer; var addrto: tsockaddr;tolen: integer): integer; stdcall;

21.setsockopt()  //設定與指定套介面相關的屬性選項

setsockopt(s: tsocket; level, optname: integer; optval: pchar;optlen: integer): integer; stdcall;

22.shutdown()  //關閉一部分全雙工的鏈結

shutdown(s: tsocket; how: integer): integer; stdcall;

23.socket()  //建立並返回乙個socket

socket(af, struct, protocol: integer): tsocket; stdcall;

二、資料庫函式

1.gethostbyaddr()*  //根據網路位址得到對應的名字(會有多個)和位址

gethostbyaddr(addr: pointer; len, struct: integer): phostent; stdcall;

2.gethostbyname()* //根據主機名得到對應的名字(會有多個)和位址

gethostbyname(name: pchar): phostent; stdcall;

3.gethostname()  //得到本機主機名

gethostname(name: pchar; len: integer): integer; stdcall;

4.getservbyname()*  //根據服務的名字得到對應的服務名和埠號

getservbyname(name, proto: pchar): pservent; stdcall;

5.getservbyport()*  //根據埠號得到對應的服務名和埠號

getservbyport(port: integer; proto: pchar): pservent; stdcall;

6.getprotobyname()  //根據協議名得到對應的協議名和數值

getprotobyname(name: pchar): pprotoent; stdcall;

7.getprotobynumber()  //根據埠號得到對應的協議名和數值

getprotobynumber(proto: integer): pprotoent; stdcall;

三、其他函式

1.wsacleanup(); //初始化底層的windows sockets dll

2.wsastartup    //從底層的sockets dll中撤銷註冊

wsastartup(wversionrequired: word; var wsdata: twsadata): integer; stdcall;

3.wsaasyncselect  //select函式的非同步版本

wsaasyncselect(s: tsocket; hwindow: hwnd; wmsg: u_int; levent: longint): integer; stdcall;

4.wsaisblocking   //確定底層的winsock dll是否在該執行緒已經被乙個呼叫阻塞

wsaisblocking: bool; stdcall;

5.wsacancelblockingcall   //取消未完成的阻塞的api呼叫

wsacancelblockingcall: integer; stdcall;

6.wsasetblockinghook   //為底層的windows sockets實現設定阻塞鉤子

wsasetblockinghook(lpblockfunc: tfarproc): tfarproc; stdcall;

7.wsasetlasterror    //設定下一次的wsagetlasterror返回的錯誤資訊

wsasetlasterror(ierror: integer); stdcall;

8.wsagetlasterror   //得到最近的乙個windows sockets api呼叫錯誤的詳細資訊

wsagetlasterror(ierror: integer); stdcall;

9.wsaunhookblockinghook   //恢復原始的阻塞鉤子

wsaunhookblockinghook: integer; stdcall;

10.wsacancelasyncrequest   //取消乙個未完成的 wsaasyncgetxbyy 函式的例項

wsacancelasyncrequest(hasynctaskhandle: thandle): integer; stdcall;

SQL宣告大全

1.隨機選擇3記錄 select top 3 from tablename newid 2.隨機選記錄 select newid 3.刪除反覆記錄 1 delete from tablename where id not in select max id from tablename group b...

HTTP頭部資訊說明大全

http 頭部解釋 content encoding 一種介質型別修飾符,標明乙個實體是如何編碼的。例如 content encoding zipcontent language 用於指定在輸入流中資料的自然語言型別。例如 content language en content length 指定包...

winsock 函式簡介

1 wsastartup函式 用於初始化winsock 宣告 int wsastarup word wversionrequested,lpwsadata lpwsadata 引數 wversionrequested 要求使用winsock的最低版本號 lpwsadata winsock的詳細資料 ...