1:server端
#include
#include
#pragma comment(lib, "ws2_32.lib")
void
main()
if
( lobyte( wsadata.wversion ) != 1 ||
hibyte( wsadata.wversion ) != 1 )
socket socksrv=socket(af_inet,sock_stream,0);
sockaddr_in addrsrv;
addrsrv.sin_addr.s_un.s_addr=htonl(inaddr_any);
addrsrv.sin_family=af_inet;
addrsrv.sin_port=htons(6000);
bind(socksrv,(sockaddr*)&addrsrv,
sizeof
(sockaddr));
listen(socksrv,5);
sockaddr_in addrclient;
int
len=
sizeof
(sockaddr);
while
(1)
}
2.客戶端:
#include
<
stdio.h
>
#include
<
winsock2.h
>
void
main()
if( lobyte( wsadata.wversion ) !=1
||hibyte( wsadata.wversion ) !=1
) socket sockclient
=socket(af_inet,sock_stream,0);
sockaddr_in addrsrv;
addrsrv.sin_addr.s_un.s_addr
=inet_addr(
"127.0.0.1");
addrsrv.sin_family
=af_inet;
addrsrv.sin_port
=htons(
6000
);connect(sockclient,(sockaddr*)
&addrsrv,
sizeof
(sockaddr));
send(sockclient,
"hello
",strlen(
"hello")
+1,0
);char
recvbuf[
50];
recv(sockclient,recvbuf,50,
0);printf(
"%s\n
",recvbuf);
closesocket(sockclient);
wsacleanup();}
第二公升級:
改進支援多客戶端連線;
怎麼辦,accpet乙個連線後,立刻就起乙個執行緒這樣 針對每個客戶端 啟動乙個執行緒去hold住,做接收和傳送的工作 ,這樣可以支援多個
客戶端了
第三部分:
iocp方式,要知道執行緒這個東西是很消耗cpu資源的, 並且執行緒數量是有限的,並且io也消耗資源所以需要使用iocp這種框架系統
去做!!
第一版Python程式
coding cp936 import os import cpickle as p class person def init self,name,age,self.name name self.age age self.def str self return name self.name age...
MVC面試第一版
mvc流程 1 使用者向伺服器傳送請求,請求被springmvc 前端控制器 dispatcherservlet 捕獲 2 dispatcherservlet對請求url進行解析,得到請求資源識別符號 uri 4 dispatcherservlet 根據獲得的handler,選擇乙個合適的handl...
HomePlay第一版demo發布
一直想做乙個能夠方便跨平台開發的應用框 基礎部分已經完成,於是將這個處於襁褓中的框架應用在win32基礎之上,花了些功夫研究了ffmpeg的使用,做了乙個demo,發布出來吸引批評與建議。框架基礎部分用c語言開發,以dll方式封裝了核心功能以及對ffmpeg的使用部分。出於簡單考慮,外部採用mfc包...