前几天有个朋友,说他们公司做手游,服务端用的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还可以修饰局部变量,表示局部变量在退出函数后,该变量不可用,但是再次进入到函数时,该变量会保存之前的值。

下面为调试的截图

上面截图说明与服务器进行了一次通信,服务器接收特定的编码格式(Flag + CheckValue + datalen + data)

发送过去后,服务端会进行编码原样返回。

总结:

接触一门其他语言,需要多去写代码,只有在写的过程当中才会去碰到问题,解决问题,积累被坑的经验。思路和想法有了,剩下的就是多被坑点就好了

最新文章

  1. [原创] 【2014.12.02更新网盘链接】基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装
  2. 转载 --ios 模型-setValuesForKeysWithDictionary
  3. java类加载器-系统类加载器
  4. drozer unknown module处理办法
  5. 朗逸2011款 1.4t 清除保养告警灯
  6. ESP8266 TCP传输AT指令顺序
  7. js写的替换字符串(相当于js操作字符串的一个练习)
  8. html系列教程--nav noscript option optgroup object
  9. MySQLdb autocommit
  10. EBS R12 LOG files 位置
  11. NB群友
  12. ActiveMq unsupported major.minor version 52.0
  13. ubuntu16.04安装ssh服务,并实现远程访问
  14. ASN.1编码方式详解
  15. linux下限制ip访问
  16. Eclipse下生成.dll动态库及.a静态库使用 for Windows [z]
  17. 高级同步器:信号量Semaphore
  18. java 简单解析wsdl
  19. C#进阶之路(六):表达式进行类的赋值
  20. 如何使用LESS 深度定制Bootstrap

热门文章

  1. 使用MSF发现主机和端口扫描
  2. 小程序使用 rpx 单位 转 px的方法(用于动画、canvas画图)
  3. bzoj3545: [ONTAK2010]Peaks 重构树 主席树
  4. BZOJ.3495.[PA2010]Riddle(2-SAT 前缀优化建图)
  5. Codeforces.919E.Congruence Equation(同余 费马小定理)
  6. 我的 Sublime Text 2 笔记
  7. failed to load class "org.sl4j.impl.StaticLoggerBinder"
  8. 树莓派.Qt.Creator安装方法
  9. fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_value.asm”: No such file or directory
  10. Winform自动更新组件分享