名義上學了c++已經1年多了,從底層api玩起到高層mfc的使用,基於cocos2d-x遊戲引擎也算是開發過幾款端遊和一些手遊了。不過那段時間做的都是單機遊戲,對於c++網路這塊幾乎沒有接觸過,今天突然有此想法,就利用一點時間玩了下socket程式設計,做了個建議的單向聊天demo。
先來個效果圖,介面確實醜,關鍵看內涵~
-客戶端方面的幾個步驟
1.先啟動winsock
//啟動winsock
wsadata wsadata;
ierrmsg = wsastartup(makeword(1,1),&wsadata);
2.構造socket
其中af_inet指ipv4網路協議的套接字型別,af_inet6是ipv6的
m_sock =socket(af_inet,sock_stream,ipproto_tcp);
3.配置資料(位址和埠)
//目標伺服器資料
sockaddr_in sockaddrserver;
sockaddrserver.sin_family = af_inet;
sockaddrserver.sin_port = port;
sockaddrserver.sin_addr.s_addr = inet_addr(address);
4.連線伺服器
//連線,sock與目標伺服器連線
ierrmsg = connect(m_sock,(sockaddr*)&sockaddrserver,sizeof(sockaddrserver));
-服務端:服務端前3步和客戶端一致,只是第4步需要調正為如下操作:
繫結監聽操作:
//繫結
ierrormsg = bind(m_sock,(sockaddr*)&serveraddr,sizeof(serveraddr));
-資料的傳送與接收資料的傳送
//傳送訊息,指定sock傳送訊息
ierrmsg = send(m_sock,msg,len
,0);
資料的接收
//接收資訊
newsocket = accept(m_sock,(sockaddr*)&tcpaddr,&len);
上面就是今天做了的簡單回顧,剛開始寫寫這些部落格,簡單記錄下最近學的,寫得有點亂,希望自己能慢慢進步。下次再結合多執行緒做乙個類qq的聊天小軟體來玩玩,鞏固下c++知識。 python TCP程式設計小試牛刀
學習自廖雪峰的python教程,也是參照著他的教程敲的。這個例子是乙個tcp客戶端python程式設計的例子,1 首先建立乙個tcp的socket 2 然後呼叫socket的方法與伺服器進行連線 3 連線之後給伺服器傳送一條http請求 4 接收伺服器返回的http響應 包括包頭和html資料 5 ...
boost graph lib 小試牛刀
最近要做社會網路的社群發現,發現用bgl能減少不少 量。經過一番調研發現bgl封裝的很牛叉,dijkstra等演算法統統具備,奈何自己對泛型程式設計不太熟,遇到問題還是很糾結。primer泛型程式設計 演算法部分和stl原始碼分析接下來有時間一定要讀下。下面僅以鄰接鍊錶和自定義節點為例 typede...
Anti Debug 小試牛刀
本文整理了日常生活中遇到的一些anti debug技術,除非特殊說明,均適用於mac ios開發 作為第一篇正式博文,會不定期更新,謝謝大家.123 4567 89 define pt deny attach 31 include intmain 程式正常執行,會輸出hello 但是程式載入到gdb...