[英]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.