看了併發的go感覺自己又要加乙個內容了,主要是go涉及高併發->高併發涉及計算機網路->我不會計算機網路,我如果不會計網根本就無法觸及很多專案,但我network課下學期才上,這只好自己來學習了,被艹爛的內容應該不會是什麼特別難的內容吧
以下的**用的是別人現成的,時間緊迫,要先了解乙個東西,再去細究其原理,本著不當復讀機的原則,在這裡只說下配置環境的難點吧,艹了一上午才給配置好
為啥不用linux呢,好問題,但配置起來較為麻煩,而且操作相對不方便,學習除錯還是在windows上弄對我而言會好一點
首先windows的lib不像linux那麼全,所以include了winsock2和windows.h 標頭檔案只能讓東西在clion上能被檢索到,但是跑起來會出現"__imp::socket"和與之關聯的方法undefine的問題
這個可以通過在cmakelist裡面link一下來解決
如圖所示,在executable那裡也要加乙個類似於-lpthread 的argument
然後是,關於視窗的問題,新手可能比較難以想象這個socket通訊是什麼形式的,我一開始的理解是同乙個目錄底下建兩個cpp才能通訊,後來執行不了,發現我理解錯了
這裡的clion乙個project類似於伺服器,另開乙個project類似於客戶端,二者通過埠實現傳送位元組的資訊,然後搭建好就能通過命令列的執行來進行通訊了,不過一上午只搞懂了如何進行半雙工通訊,其他的還在探索中
另外乙個收穫是,大概對這些東西有印象了,下一步可以做一下go和cpp結合的比如社交軟體的專案,爭取在春招之前搞定
成品如下
這是伺服器
客戶端
TCP Socket通訊學習
學習內容,參見 windows網路程式設計 第7章 winsock基礎 伺服器 客戶端連線模型見下圖。服務端流程 客戶端流程 使用windows的winsock 2程式設計,建立win32控制台工程,進行工程配置。服務端 tcpserver.cpp。include stdafx.h include ...
TCP Socket 通訊流程
流程說明 1 服務端建立乙個指定埠號的serversocket物件,呼叫accept 方法,等待接受客戶端的連線請求 等待期間當前程序處於阻塞狀態 2 客戶端建立乙個socket物件,指定服務點主機的ip位址 或網域名稱 和埠,發出tcp連線請求 3 服務端接受到客戶端的連線請求,程序由阻塞態變為執...
Tcp Socket非同步通訊例項
socket客戶端實體類,作用傳送和接收資料報 public class sockethelper catch argumentexception ae catch socketexception ex region methods socket通訊機連線函式 public bool connect...