作者lg31cm (我住5F)
看板Programming
标题Re: [TCP网路程式]请问如何send出1个struct
时间Sat Jun 23 02:14:51 2007
当然可以,请回去加强指标的观念
Packet pkt;
//...
send(s, (char*)&pkt, sizeof(Packet), 0);
还有你的 struct 没有对齐记忆体的边界, 在不少系统
上都会出问题, 请参考你使用的 compiler 使用手册
※ 引述《vividly0318 (^________^happy)》之铭言:
: 可以请问一下, 在已建立TCP连线下,
: 如何 send 一个 struct 给对方..... (用c语言的话...)
: 我把遭遇的困难, 跟大家说明一下:
: 我的source codes是:
: typedef struct header {
: BYTE version;
: unsigned short int streamID;
: } Header;
: typedef struct packet {
: Header Hdr;
: int payload;
: } Packet;
: 使用的 send API:
: int send (SOCKET s, char* buf, int length, int flag);
: 出现的错误讯息是:
: error C2664: 'send' : cannot convert parameter 2 from 'struct header' to
: 'const char *' No user-defined-conversion operator available that can
: perform this conversion, or the operator cannot be called
: Error executing cl.exe.
: client.obj - 1 error(s), 0 warning(s)
: =========================================
: 目前对他的错误讯息一知半解:
: 他是说, 不能用个人定义的data type吗....
: 可以请问... 该怎麽修改才对呢....
: 感谢 <(_ _)> 想好久了....
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.133.33.4
1F:推 vividly0318:谢谢你的指点啊 203.73.85.160 06/23 08:20