網路程式設計課設吐槽記錄

2021-10-01 20:45:10 字數 3286 閱讀 8498

//運用子執行緒來實現全雙工通訊

//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 創作 的漫畫鏈結,於是我決...