[問題] socket相關的問題
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
Fedora 16
GCC
問題(Question):
想要用TCP做資料傳輸, 使用send()與recv()兩個函式, 但是執行有點問題,
發送端每次送出的大小並不固定, 而在接收的時候就會漏掉一些資訊
char buffer[1024];
int iResult, n;
iResult = send(sock, buffer, n, 0); //n介於0~1024
iResult = recv(sock, buffer, 1024, 0);
兩邊都紀錄發送跟接收的值進行比較, 大概出現以下的情形
發送端 接收端
iResult = 5 5
1024 1024
1024 1024
798 424
70 70
1024 1024
1024 1024
1024 1024
1024 424
1024 1024
780 780
650 650
97 97
大概就是發現兩到三次發送塞滿1024byte的封包時, 接收端在下一次recv的時候,
只會固定收到424byte, 而沒有讀取到後面的資料, 想請問一下這是甚麼問題?
如果程式碼不夠詳細會再補上.
謝謝.
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 111.255.117.233
※ 編輯: allen7812 來自: 111.255.117.233 (12/31 01:11)
推
12/31 14:53, , 1F
12/31 14:53, 1F
→
12/31 15:08, , 2F
12/31 15:08, 2F
→
12/31 15:13, , 3F
12/31 15:13, 3F
推
01/01 02:46, , 4F
01/01 02:46, 4F
→
01/01 12:11, , 5F
01/01 12:11, 5F
→
01/01 12:11, , 6F
01/01 12:11, 6F
→
01/01 13:27, , 7F
01/01 13:27, 7F
→
01/01 13:28, , 8F
01/01 13:28, 8F
→
01/01 14:11, , 9F
01/01 14:11, 9F
→
01/01 14:11, , 10F
01/01 14:11, 10F
→
01/01 15:07, , 11F
01/01 15:07, 11F
→
01/01 15:08, , 12F
01/01 15:08, 12F
→
01/01 15:10, , 13F
01/01 15:10, 13F
→
01/01 15:12, , 14F
01/01 15:12, 14F
→
01/01 15:37, , 15F
01/01 15:37, 15F
→
01/01 15:37, , 16F
01/01 15:37, 16F
→
01/01 18:11, , 17F
01/01 18:11, 17F
→
01/01 18:13, , 18F
01/01 18:13, 18F
→
01/01 18:21, , 19F
01/01 18:21, 19F
→
01/01 18:23, , 20F
01/01 18:23, 20F
→
01/01 18:24, , 21F
01/01 18:24, 21F
→
01/01 18:24, , 22F
01/01 18:24, 22F
→
01/01 18:24, , 23F
01/01 18:24, 23F
推
01/01 19:40, , 24F
01/01 19:40, 24F
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章