1#pragma comment(lib,"ws2_32.lib")
2 #include 3 #include 4 socket socksrv;//
連線所用套節字
5 socket sockconn; //
監聽套接字
6sockaddr_in addrsrv;
7dword winapi funa(lpvoid lp);8//
定義傳送和接收的快取陣列
9char sendbuf[50
];10
char recvbuf[50
];11
12void
main()
2930
if(lobyte(wsadata.wversion)!=1||hibyte(wsadata.wversion)!=1
)34 printf("
伺服器已啟動......\n");
3536
//建立socket套接字
37 socksrv = socket(af_inet,sock_stream,0
);38
//通訊的ip位址 htonl把主機位元組轉換成網路位元組
39 addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);
40//
使用ip位址族
41 addrsrv.sin_family=af_inet;
42//
通訊的埠號
43 addrsrv.sin_port=htons(8888
);44
//函式繫結 將套接字與通訊位址建立聯絡
45 bind(socksrv,(sockaddr*)&addrsrv,sizeof
(sockaddr));
46//
建立監聽佇列(把套接字轉換成監聽模式)
47 listen(socksrv,5
);48
int len=sizeof
(sockaddr);
4950
//accept接受客戶請求
51 sockconn = accept(socksrv,(sockaddr*)&addrsrv,&len);
5253 sprintf(sendbuf,"
伺服器ip: %s ;連線成功!
",inet_ntoa(addrsrv.sin_addr));
54//
傳送訊息
55 send(sockconn,sendbuf,strlen(sendbuf)+1,0
);
5657
handle a;
58dword dwt;
5960
//引數1:使用預設的安全性;引數2:與呼叫執行緒一樣的棧大小;
61//
62 a=createthread(null,0,funa,0,0,&dwt);
63closehandle(a);
6465
//訊息迴圈接收和傳送
66while(1)73
closesocket(sockconn);
74//
關閉連線和套接字
75wsacleanup();76}
7778
dword winapi funa(lpvoid lp)
79else89}
90return0;
91 }
winsocket程式設計例項
include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 socket socksrv socket af inet,sock stream,0 sockaddr in addrsrv addrs...
winsocket程式設計例項
include include void main if lobyte wsadata.wversion 1 hibyte wsadata.wversion 1 socket socksrv socket af inet,sock stream,0 sockaddr in addrsrv addrs...
WinSocket程式設計(C )例項三
1 首先新建專案 win32控制台應用程式 2 解決方案 新增 新建專案,兩個專案都新增ws2 32.lib鏈結庫 1,2步驟可參考 winsocket程式設計 c 例項一 3 直接上 ient adrconv win.cpp include stdafx.h include include voi...