【被C折腾系列】用C调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还可以修饰局部变量,表示局部变量在退出函数后,该变量不可用,但是再次进入到函数时,该变量会保存之前的值。
下面为调试的截图
上面截图说明与服务器进行了一次通信,服务器接收特定的编码格式(Flag + CheckValue + datalen + data)
发送过去后,服务端会进行编码原样返回。
总结:
接触一门其他语言,需要多去写代码,只有在写的过程当中才会去碰到问题,解决问题,积累被坑的经验。思路和想法有了,剩下的就是多被坑点就好了
转载于:https://www.cnblogs.com/DKSoft/p/4316995.html
【被C折腾系列】用C调DIOCP编码客户端通信相关推荐
- NAS折腾系列二:番外篇之瘦客户机+DoraOS实现远程办公
目录 一.缘起DoraOS 二.远程办公方案对比 三.DoraOS简单介绍 四.瘦客户机选购 五.安装DoraOS云桌面系统 六.Windows+DoraOS双系统安装 七.DoraOS常见问题 八. ...
- jvm系列(七):jvm调优-工具篇
16年的时候花了一些时间整理了一些关于jvm的介绍文章,到现在回顾起来还是一些还没有补充全面,其中就包括如何利用工具来监控调优前后的性能变化.工具做为图形化界面来展示更能直观的发现问题,另一方面一些耗 ...
- jvm原理及性能调优系列(jvm调优)
jvm原理及性能调优系列(jvm调优) JVM设置: 1.设置合适的最大堆内存(新生代和老生代的最大和值)和最小堆内存(jvm启动时占用的操作系统内存大小),及设置好堆的比例分配. 2.设置合适的新生 ...
- scrapy爬虫折腾系列-02
Scrapy折腾系列-02 1.笔记 response是一个scrapy.http.response.html.HtmlResponse对象,可执行xpath和css语法来提取数据 提取出来的数据,是 ...
- coreelec 下载app_DY的瞎折腾系列 篇十三:N1多媒体系统CoreELEC升级指南
DY的瞎折腾系列 篇十三:N1多媒体系统CoreELEC升级指南 2019-04-15 18:31:07 70点赞 535收藏 292评论 感谢大家一直对N1系列的支持,由于CoreELEC刷入N1后 ...
- android 播放器 遥控器,DY的瞎折腾系列 篇八:N1多媒体播放器 手机遥控器
DY的瞎折腾系列 篇八:N1多媒体播放器 手机遥控器 2019-03-29 19:00:28 21点赞 173收藏 53评论 非常感谢大家支持,本篇主要介绍一下CoreELEC系统的手机浏览器当遥控 ...
- coreelec 下载app_DY的瞎折腾系列 篇十五:N1多媒体系统CoreELEC 百度云下载指南...
DY的瞎折腾系列 篇十五:N1多媒体系统CoreELEC 百度云下载指南 2019-04-26 15:28:57 64点赞 427收藏 117评论 你是AMD Yes党?还是intel和NVIDIA的 ...
- 深力科SND111系列 带PWM调光功能的线性压降恒流LED驱动器, 内置过热保护代替数明SLM201A
深力科SND111系列 带PWM调光功能的线性恒流LED驱动器, 内置过热保护代替数明SLM201A SND111系列用于产生单通道.高精度恒流 源的 LED 驱动芯片,在各种 LED 照明产品中非 ...
- mq系列传感器的程序_深圳现代通信系列实训系统
深圳现代通信系列实训系统 ejsnb5p 深圳现代通信系列实训系统 因为考虑到机箱的抗腐蚀.导电.导热等的内部要求,我们的机箱减震系统全部采用金属材料制成,这比起用橡胶材料做减震不但能达到上述要求,还 ...
最新文章
- 华为鸿蒙去哪里更新,华为鸿蒙OS正式尝鲜版名单更新,升级?还是不升级?
- 匿名块 块内实体的修改
- 学习笔记101— word 如何给某一页后面所有页增加行号
- python中easygui最新下载教程_python怎么下载easygui
- SqlServer中怎样从Excel中导入数据
- r语言 tunerf函数_R语言︱常用统计方法包 机器学习包(名称、简介)
- Socket 多线程FTP软件开发
- 用java编写一个计算器_用java程序编写一个计算器
- 《LeetcodeHot100非困难题补录》
- 数据增强_NLP 数据增强方法 EDA
- Prompt learning入门
- Perl语言入门14-17
- Android TV 开发(5)
- 语义替换脚本——论文降重GUI
- 2021双非考研408上岸南京大学计算机经验帖
- 在iOS开发中如何高效使用静态库
- labview中前面板如何设置背景图片
- keras 中adam_ADAM中的渲染和着色:第3集
- 三个案例详解不同网段之间如何互通
- md5压缩函数用java实现,MD5压缩算法介绍
热门文章
- 数据结构—线性表及其实现方式
- [蓝桥杯]基础练习 十六进制转八进制
- C++11新特性之 可变参数模板
- Unity3D之NGUI基础1:NGUI插件介绍
- bzoj 3495: PA2010 Riddle(2-SAT)
- python基础系列教程——Python的安装与测试:python解释器、PyDev编辑器、pycharm编译器
- js系列教程12-浏览器存储全解
- matlab2c使用c++实现matlab函数系列教程-trace函数
- 【nand2tetris实验0】windows找不到文件javaw的解决办法
- Digilent提供的Pmod AD5驱动程序