c網路程式設計的問題,關於TcpClient類

時間 2021-09-08 16:33:34

1樓:匿名使用者

1、read放在while裡面,也可以非同步接收,

2、你的第二個問題可以用「訊息邊界」來解決,不用非同步的話,必須是你一條,我接收,再發,不然會阻塞

3、另開執行緒接收,建議你看一下msdn,裡面有一個關於執行緒的返回值的文章

2樓:匿名使用者

問題3:例項化client後要開一個執行緒來讀寫資料的。

1:對,read放在while迴圈 當然這樣cpu會掛,不過read會讓執行緒掛起 還需要一個推出執行緒的方法,就是while迴圈何時break 需要manualresetevent這個類來控制

2: read是阻塞的,伺服器不發訊息read一直阻塞,read一個byte是你自己指定 比如

byte buffer=new byte[512] read的第三個引數size就是512

比如伺服器發來1025個位元組 第一次read512個 第二次read512個 第三次read1個 第四次read會掛起了 接受了多少個位元組? read返回int 相加肯定是1025了

目的是快取 如果tcpserver發來1g的資料 client不用快取讀肯定掛了。

3樓:匿名使用者

1不要;2while一直,byte.length;3多執行緒單socket

4樓:克里斯採

要有一個單獨的執行緒用於資料的讀入

關於c語言的程式設計,關於C語言的程式設計問題?

執行示例 原始碼如下 include stdio.h int main printf n return 0 望採納。int用來定義整型變數 整數 float用來定義浮點型變數 實數 float和int一樣是用來定義變數的,它不是函式.賦值語句value 700 weight 14.5833之所以不在...

C語言程式設計問題,c語言程式設計問題?

小黑哎啊 include include 數學函式標頭檔案 include void fun1 函式宣告 void fun2 int main while 1 int x for int i 0 i 20 i printf printf n1,求整數n的立方 n printf 2,判斷是否能構成三角...

c語言程式設計問題,c語言程式設計問題?

聽不清啊 include int main int i,n double sum 0 scanf d n for i 1 i n i sum i i 1.0 i 1 printf f n sum return 0 威爾史密斯 include void main c語言程式設計問題 手機使用者 解題思...