【被C折腾系列】用C调DIOCP编码客户端通信
2024-08-26 07:18:45
前几天有个朋友,说他们公司做手游,服务端用的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)
发送过去后,服务端会进行编码原样返回。
总结:
接触一门其他语言,需要多去写代码,只有在写的过程当中才会去碰到问题,解决问题,积累被坑的经验。思路和想法有了,剩下的就是多被坑点就好了
最新文章
- [原创] 【2014.12.02更新网盘链接】基于EasySysprep4.1的 Windows 7 x86/x64 『视频』封装
- 转载 --ios 模型-setValuesForKeysWithDictionary
- java类加载器-系统类加载器
- drozer unknown module处理办法
- 朗逸2011款 1.4t 清除保养告警灯
- ESP8266 TCP传输AT指令顺序
- js写的替换字符串(相当于js操作字符串的一个练习)
- html系列教程--nav noscript option optgroup object
- MySQLdb autocommit
- EBS R12 LOG files 位置
- NB群友
- ActiveMq unsupported major.minor version 52.0
- ubuntu16.04安装ssh服务,并实现远程访问
- ASN.1编码方式详解
- linux下限制ip访问
- Eclipse下生成.dll动态库及.a静态库使用 for Windows [z]
- 高级同步器:信号量Semaphore
- java 简单解析wsdl
- C#进阶之路(六):表达式进行类的赋值
- 如何使用LESS 深度定制Bootstrap
热门文章
- 使用MSF发现主机和端口扫描
- 小程序使用 rpx 单位 转 px的方法(用于动画、canvas画图)
- bzoj3545: [ONTAK2010]Peaks 重构树 主席树
- BZOJ.3495.[PA2010]Riddle(2-SAT 前缀优化建图)
- Codeforces.919E.Congruence Equation(同余 费马小定理)
- 我的 Sublime Text 2 笔记
- failed to load class ";org.sl4j.impl.StaticLoggerBinder";
- 树莓派.Qt.Creator安装方法
- fatal error C1083: 无法打开编译器生成的文件:“../../build/vs71/release/lib_json\json_value.asm”: No such file or directory
- Winform自动更新组件分享