//運用子執行緒來實現全雙工通訊
//service端
void
sendinfo
(socket sockconn)if(
strcmp
(gets_s
(s,50),
"quit")==
0)sprintf_s
(sendbuf, s)
;send
(sockconn, sendbuf,
strlen
(sendbuf)+1
,0);
//傳送訊息
//清除快取
memset
(s,0
,sizeof
(s)/
sizeof
(char))
;memset
(sendbuf,0,
sizeof
(sendbuf)
/sizeof
(char))
;memset
(sendd,0,
sizeof
(sendd)
/sizeof
(char))
;}}int
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)
;//將套接字設為監聽模式
int len =
sizeof
(sockaddr)
;//如果監聽的客戶佇列裡有客戶發起連線請求,accept進行接受,第二個引數為乙個可識別客戶端實體,
//該方法返回乙個新socket,之後和該客戶進行互動的即為該socket
socket sockconn =
accept
(socksrv,
(sockaddr*
)&addrclient,
&len)
; std::thread t
(sendinfo, sockconn)
;//建立子執行緒傳送訊息
t.detach()
;while(1
)memset
(recvbuf,0,
sizeof
(recvbuf)
/sizeof
(char))
;//清空快取
}//結束套接字
closesocket
(sockconn)
;closesocket
(socksrv)
;wsacleanup()
;printf
("press enter to continue...\n");
getchar()
;return0;
}
//client端,也是利用子執行緒實現全雙工通訊
void
sendinfo
(socket sockclient)if(
strcmp
(gets_s
(s,50),
"quit")==
0)send
(sockclient, s,
strlen
(s)+1,
0);//傳送訊息
memset
(s,0
,sizeof
(s)/
sizeof
(char))
;//清除快取區}}
intmain()
if(lobyte
(wsadata.wversion)!=1
||hibyte
(wsadata.wversion)!=1
)inet_pton
(af_inet,
"10.1.11.244",(
void*)
&addrsrv.sin_addr.s_un.s_addr)
;//64位的機器用這個方法,ip是service的ip,需自行修改
= inet_addr("127.0.0.1");//參考**中的老古董方法
addrsrv.sin_family = af_inet;
addrsrv.sin_port =
htons
(6000);
socket sockclient =
socket
(af_inet, sock_stream,0)
;//建立socket
connect
(sockclient,
(sockaddr*
)&addrsrv,
sizeof
(sockaddr));
//建立套接字連線
std::thread t1
(sendinfo, sockclient)
;//建立子執行緒傳送資訊
t1.detach()
;while(1
)memset
(recvbuf,0,
sizeof
(recvbuf)
/sizeof
(char))
;//清除快取區
}closesocket
(sockclient)
;//關閉套接字連線
第一次寫部落格,有點小雞凍,嘿嘿…歡迎指正錯誤
演算法課設(巨水)和一些吐槽
首先我要吐槽一下,大二下學期的課程才有演算法,而且學的都是人家初中生玩剩下的普及組的題,這個課程安排真的是有毛病。先學資料結構和演算法,把硬體 數字邏輯 計算機組成原理 和經濟學原理 管理學這些沒什麼用的課程砍掉不香嗎?講道理,大學的計科專業真的是什麼都學,什麼都不精,包括一些 我認為 沒什麼用的課...
吐槽 程式語言設計哲學
寫這篇文章的起意是看一位博主寫的年終總結,談到他學習go語言及其程式設計哲學。這讓我突然意識到,最近一直覺得自己寫python寫的很不舒服,總覺得這門語言有很多弊病。現在看來,是因為我忘了這門語言的設計哲學了。python本身就是以優雅著稱,本來就是要易看易讀。儘管這門語言被用於很多領域,但這也是因...
吐槽程式設計問題的五張漫畫
大家可能知道,我時常活躍於stack overflow 當今最熱門的程式設計師問答 該 的好同志們公開了他們的資料,任何人都可以通過這個頁面查詢他們的資料庫 data.stackexchange.com 那裡的很多問題和回答都配上了xkcd 由randall munroe 創作 的漫畫鏈結,於是我決...