簡體   English   中英

無法通過套接字傳輸陣列

[英]having trouble transfer arrays over socket

我在通過c中的套接字傳輸int數組時遇到問題。 htonl()的正確用法是什么? 可以說我有:

int arra[3]={6000,7000,8000};

和名為new_socket的套接字

我如何正確地將其傳輸到插座的另一端?

客戶端正在通過以下代碼進行讀取:

char buf[BUFLEN] = "";  // buffer for recv() calls

for (i = 0; i < nbytes; i += INTLEN) {
    int file_port = ntohl(*(int *)&buf[i]);
   int i, wp1, ret;
   for (i = 0; i < 3; i++) {
      wp1 = htonl(arr[i]);
      ret = write(sockfd, wp1, sizeof(int));
      //error check based on ret
   }

這可行。 TCP是一個流,一次寫入或多次寫入無關緊要,您可以一次性讀取全部內容,也可以讀取直到擁有必要的字節數,然后將整個程序粘貼到任一側並將得到的輸出中

暫無
暫無

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

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