看板 LinuxDev 關於我們 聯絡資訊
想請大家幫忙看一小段unix socket程式 nLen = recv(rsock, szReadBuffer, sizeof(szReadBuffer), 0); if ( nLen > 0) { printf("Client Request: %s \r\n", szReadBuffer); szReadBuffer[nLen] = '\0'; } else { printf("Recv Error"); } 我利用recv來收client端所送來的資料 nLen是5 但在printf時 szReadBuffer卻沒有顯示任何東西 只顯示 Client Request: 想請問有人知道這是為什麼嗎? ps. 此為server端的程式, 在unix環境下執行 client是用java 在windows下面執行的 先謝謝大家!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 75.6.237.125 ※ 編輯: Racci 來自: 75.6.237.125 (09/13 15:39)
seansnow:收到空白嗎?妳可以用strlen(szReadBuffer)來check看看 09/13 16:13
Racci:我用strlen長度是5 剛剛用for loop一個一個印出來 09/13 16:16
Racci:不過是亂碼, 剛剛網路上查, 好像是要用flush, 可是關於flush 09/13 16:17
Racci:的sample code好少 有哪位可以指導一下嗎? 感激不盡!! 09/13 16:18
threecia:試試memset? 09/14 11:03
origo:strlen回5表示收到的5個字元都不是0x00,那印不出來還真怪,哈 09/14 18:35
Racci:我有先做memset了說 我後來有一個字元一個字元印出來 09/15 14:27
Racci:前兩各是亂碼 後面三位是我的資料 很奇怪 找不到原因 09/15 14:28
Racci:有朋友說可以試試flush, 有人用過flush嗎 搞不懂要怎麼用 09/15 14:28