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)

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

    总结:

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

  • 相关阅读:
    Redis 补充
    python 魔法方法补充(__setattr__,__getattr__,__getattribute__)
    Mongodb 补充
    Mysql补充
    HTML
    优秀工具
    优秀文章收藏
    MySQL
    爬虫
    Python
  • 原文地址:https://www.cnblogs.com/DKSoft/p/4316995.html
Copyright © 2011-2022 走看看