使用TCP套接字通信,服务器正在发送更多数据,但客户端只获得4K并停止.解决方法 您可以考虑在多个调用中拆分读/写.我在过去肯定遇到过TcpClIEnt的问题.为了解决这个问题,我们使用带有以下读/写方法的包装流类:
public overrIDe int Read(byte[] buffer,int offset,int count){ int totalBytesRead = 0; int chunkBytesRead = 0; do { chunkBytesRead = _stream.Read(buffer,offset + totalBytesRead,Math.Min(__frameSize,count - totalBytesRead)); totalBytesRead += chunkBytesRead; } while (totalBytesRead < count && chunkBytesRead > 0); return totalBytesRead;} public overrIDe voID Write(byte[] buffer,int count) { int bytesSent = 0; do { int chunkSize = Math.Min(__frameSize,count - bytesSent); _stream.Write(buffer,offset + bytesSent,chunkSize); bytesSent += chunkSize; } while (bytesSent < count); }//_stream is the wrapped stream//__frameSize is a constant,we use 4096 since its easy to allocate.@H_502_2@ 总结
以上是内存溢出为你收集整理的c# – TCP套接字通信限制全部内容,希望文章能够帮你解决c# – TCP套接字通信限制所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)