程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> 關於C語言 >> 【被C折騰系列】用C調DIOCP編碼客戶端通信,折騰diocp

【被C折騰系列】用C調DIOCP編碼客戶端通信,折騰diocp

編輯:關於C語言

【被C折騰系列】用C調DIOCP編碼客戶端通信,折騰diocp


前幾天有個朋友,說他們公司做手游,服務端用的DIOCP3裡面做文件服務器,客戶端用cocos-x,在調試與diocp通信時老是失敗!

 

於是,我下載了一個Codeblocks經過幾個小時的折騰,終於折騰出來了,把其中的一些心酸記錄下,以便以後查閱。

 

1.windows下面使用socket的一些函數時,需要設置工程的選項或者工具的編譯選項

[project –> build options]->[linker settings]或者[setting]->[complier]->Linker settings]中添加

F:\Tools\C\CodeBlocks\MinGW\lib\*.a 到 [link libraries]中

要不然會出現編譯錯誤

undefined reference to `WSAStartup@8'

 

2.關於c中的extern和static

  百度上面有比較多的解釋,

  extern 表示修飾的函數或者變量是從其他文件中引用。(extern告訴編譯器這個變量或者函數在其他文件裡已經被定義了)

  static 表示修飾的函數或者變量只能在本文件中使用。static還可以修飾局部變量,表示局部變量在退出函數後,該變量不可用,但是再次進入到函數時,該變量會保存之前的值。

 

下面為調試的截圖

image

上面截圖說明與服務器進行了一次通信,服務器接收特定的編碼格式(Flag + CheckValue + datalen + data)

發送過去後,服務端會進行編碼原樣返回。

 

總結:

    接觸一門其他語言,需要多去寫代碼,只有在寫的過程當中才會去碰到問題,解決問題,積累被坑的經驗。思路和想法有了,剩下的就是多被坑點就好了

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved