簡體   English   中英

在C ++中通過UDP發送整數數組

[英]Sending an integer array over UDP in C++

我正在嘗試使用C ++中的winsock編程通過UDP將大小為480X640的整數數組發送到另一台計算機。 我可以在發送之前將數組類型轉換為char *,但是我不知道如何將char *強制轉換回整數數組。 代碼段如下所示:

int arrayData[480][640];    
char * arrayChar;

arrayChar = (char *)&arrayData;

// send it to the other end over UDP

// at the other end, receive and convert char * to integer array

此類型轉換有效嗎? 如果有人可以幫助我將“ arrayChar”轉換回整數數組,那就太好了。

您可以使用reinterpret_cast ,然后使用相同的內容將其投射回接收方。

答案。

  1. 您不需要&,最好在C ++中使用正確的類型轉換。

    char * ptr = static_cast <char *>(arrayData);

  2. 對於強制轉換,您需要參閱( 如何將簡單指針強制轉換為固定大小的多維數組?

  3. 您那里有超過1MB的數據,這是很多數據包。 您真的確定要使用UDP,這不能保證數據包按順序(或根本沒有)到達嗎?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM