Re: [TCP網路程式]請問如何send出1個struct
當然可以,請回去加強指標的觀念
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
推
06/23 08:20, , 1F
06/23 08:20, 1F
討論串 (同標題文章)