我正在尝试写一个通讯协议,它的桢内容里有16进制数,二进制数,长整型等.我的理解是在sand,receive命令里发出接收的都是ASCII码吧.那么要传这些数据,代码里数据类型怎么定呢?一些相关代码应该怎么写呢?谢谢!

解决方案 »

  1.   

    各种数据在计算机中都是以二进制形式或者字符串形式(本质上也是二进制)存放的,一般来说,一个数据帧在传送之前都要打包成数组或者结构体;
        而send receive需要的是缓冲区的指针,不管是char* void*都是这个意思,最好都强制转换一下指针类型,不管你传送的是字符数组、整数数组、浮点数数组、结构体等等,最后send只是把它们当作n个字节传送。
        我想你可能只是不清楚send receive的参数形式,但还是罗嗦了这么多,别见怪。
      

  2.   

    "我的理解是在sand,receive命令里发出接收的都是ASCII码吧."呵呵, 那如果发送图形呢? 显然不是ASCII码的,  楼上说得对, send accept recv 什么的, 参数都是缓冲区指针, 大小之类.