zoukankan      html  css  js  c++  java
  • 【被C折腾系列】用C调DIOCP编码客户端通信

    前几天有个朋友,说他们公司做手游,服务端用的DIOCP3里面做文件服务器,客户端用cocos-x,在调试与diocp通信时老是失败!

    于是,我下载了一个Codeblocks经过几个小时的折腾,终于折腾出来了,把其中的一些心酸记录下,以便以后查阅。

    1.windows下面使用socket的一些函数时,需要设置工程的选项或者工具的编译选项

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

    F:ToolsCCodeBlocksMinGWlib*.a 到 [link libraries]中

    要不然会出现编译错误

    undefined reference to `WSAStartup@8'

    2.关于c中的extern和static

      百度上面有比较多的解释,

      extern 表示修饰的函数或者变量是从其他文件中引用。(extern告诉编译器这个变量或者函数在其他文件里已经被定义了)

      static 表示修饰的函数或者变量只能在本文件中使用。static还可以修饰局部变量,表示局部变量在退出函数后,该变量不可用,但是再次进入到函数时,该变量会保存之前的值。

    下面为调试的截图

    image

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

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

    总结:

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

  • 相关阅读:
    win7,win10获取屏幕缩放适应截图
    cg语言学习&&阳春白雪GPU编程入门学习
    Unity Plugins的使用方法
    记录Unity的优化tip(不断更新)
    深入理解法线贴图原理
    读香菱学诗
    排序算法学习
    图的算法复习大纲
    Gama Space 和 Linear Space 学习
    BM算法学习
  • 原文地址:https://www.cnblogs.com/DKSoft/p/4316995.html
Copyright © 2011-2022 走看看