[問題] c# socket 一問

看板C_Sharp作者 (raison detre)時間17年前 (2008/09/08 21:14), 編輯推噓3(300)
留言3則, 2人參與, 最新討論串1/1
請問各位高手 小弟我使用c#寫了一個client程式 使用socket去跟c++ 的server作溝通 溝通的內容是一個struct c# 中 struct的格式 [Serializable()] public struct LOGIN_PERMISSION_DATA { public short version; public byte[18] username; public byte[15] password; public int idx; public uint checkkey; public byte client_id; public byte permission; } c++中 struct的格式 typedef struct tagLoginPermission { short version; char username[18]; char password[15]; int idx; unsigned int checkkey; iUInt8 client_id; iUInt8 permission; } LOGIN_PERMISSION_DATA; 可是我在c++始終無法解譯我使用socket send過去的data 我將這個struct 在c# 轉為 byte[] 的時候 長度是317 可是我使用c++寫一個簡單的範例 我在裡頭使用 sizeof(LOGIN_PERMISSION_DATA) 的時候 大小只有 48(WORD) 請問為何會如此呢 我是否有哪裡疏忽掉了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.220.110.100

09/08 21:53, , 1F
難道是指標?
09/08 21:53, 1F

09/10 13:52, , 2F
C#轉struct至win32,需要作很多size屬性宣告,不是那麼簡單
09/10 13:52, 2F

09/10 13:52, , 3F
網路上有文章在講c# to c++結構對比上的宣告方式,去查看看
09/10 13:52, 3F
文章代碼(AID): #18nIKyZ9 (C_Sharp)