[問題] socket programming write,read問題

看板C_and_CPP (C/C++)作者 (..........)時間15年前 (2011/03/16 20:02), 編輯推噓1(106)
留言7則, 3人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) Linux 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 最近嘗試寫一個socket小程式 server,client連線已經建立好 write,read char array也都讀得到 請問一下 write可以丟入int嗎? 今天測試一直不成功 類似這樣: int *a; *a = 100; server: write(newsockfd, a ,siezof(a)); client: int *b; read(sockfd,b,sizeof(b)); 不知可行嗎? 哪邊有錯? 可以的話如果要讓server連丟3個整數 client可以分別存入3個變數要怎麼做? 就我所道一直丟的話 write的buffer會一直塞 那client要怎麼區別? 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.57.151.79

03/16 20:20, , 1F
何不說說你嘗試的結果? 錯誤訊息是什麼?
03/16 20:20, 1F

03/16 20:21, , 2F
int a = 100; write(newsockfd, (void *)&a ,siezof(a));
03/16 20:21, 2F

03/16 20:21, , 3F
int b; read(sockfd,(void *)&b,sizeof(b));
03/16 20:21, 3F

03/16 20:21, , 4F
你原本的程式碼犯了十三戒第三
03/16 20:21, 4F

03/16 20:28, , 5F
03/16 20:28, 5F

03/16 22:27, , 6F
...可能以為傳指標就只要隨便定義一個指標丟給它就好
03/16 22:27, 6F

03/16 22:27, , 7F
了吧...傻眼
03/16 22:27, 7F
文章代碼(AID): #1DWARHD_ (C_and_CPP)
文章代碼(AID): #1DWARHD_ (C_and_CPP)