Re: [TCP網路程式]請問如何send出1個struct

看板Programming作者 (我住5F)時間17年前 (2007/06/23 02:14), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/2 (看更多)
當然可以,請回去加強指標的觀念 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
文章代碼(AID): #16V16TDF (Programming)
文章代碼(AID): #16V16TDF (Programming)