jjzjj

tcpClient

全部标签

c# - TcpClient 的 NetworkStream 什么时候完成一次读操作?

我正在从事一个涉及通过TCP和GoogleProtocolBuffer进行客户端服务器通信的项目。在客户端,我基本上使用NetworkStream.Read()来阻止通过字节数组缓冲区从服务器读取。根据MSDN文档,Thismethodreadsdataintothebufferparameterandreturnsthenumberofbytessuccessfullyread.Ifnodataisavailableforreading,theReadmethodreturns0.TheReadoperationreadsasmuchdataasisavailable,uptothe

c# - 如何使用 TcpListener 和 TcpClient 创建双工连接?

我有一种情况需要并行发送和接收信息。我的协议(protocol)可以定义一个读端口和一个写端口。我目前有以下代码:publicvoidListen(){ThreadPool.SetMinThreads(50,50);listener.Start();while(true){varcontext=newListeningContext(listener.AcceptTcpClient(),WritePort);}}如何从我传递的TcpClient创建另一个监听器? 最佳答案 TcpClient对象包装了一个NetworkStream对

c#-4.0 - SslStream TcpClient - 从传输流中收到意外的 EOF 或 0 字节

我正在尝试通过SslStream/Tcp客户端连接到服务器。每次我这样做时,我都会收到一个异常说明:在AuthenticateAsClient行从传输流中收到意外的EOF或0字节。我已启用跟踪日志记录,但在日志中收到以下两个错误:System.Net信息:0:[12260]SecureChannel#66702757::.ctor(主机名=xxx.xx.xx.xxx,#clientCertificates=0,encryptionPolicy=RequireEncryption)System.Net信息:0:[12260]SecureChannel#66702757-剩下0个客户端证书

TcpClient/NetworkStream 未检测到断开连接

我使用TcpClient和NetworkStream为我们的游戏创建了一个简单的持久套接字连接。正常连接、发送消息和断开连接(退出应用程序/服务器关闭/等)都没有问题。但是,我遇到了一些问题,在某些情况下,客户端没有检测到与服务器的断开连接。我对此进行测试的最简单方法是拔掉wifi盒上的网络电缆,或将手机设置为飞行模式,但它发生在游戏中,否则应该是稳定的wifi。通过NetworkStream等文档,它说检测断开连接的唯一方法是尝试写入套接字。很公平,除了,当我尝试时,写入通过,好像没有任何问题。我可以像这样写多条消息,一切似乎都很好。只有当我重新插入电缆时,它才会发现它已断开连接(所

delphi - Indy TCPClient 和 InputBuffer 中的流氓字节

我正在使用以下几行代码通过IP写入和读取外部调制解调器/路由器(又名设备)。TCPClient.IOHandler.Write(MsgStr);TCPClient.IOHandler.InputBuffer.Clear;TCPClient.IOHandler.ReadBytes(Buffer,10,True);MsgStr是一种字符串类型,其中包含我发送到我的设备的文本。缓冲区被声明为TIdBytes。我可以确认IOHandler.InputBufferIsEmpty在调用ReadBytes之前立即返回True。我希望收到的前10个字节非常具体,因此从我的角度来看,我只对发送字符串后收

c# - async await 与 TcpClient 的用法

我最近开始使用新的C#5.0“async”和“await”关键字。我以为我明白了,但意识到一件事让我怀疑。下面是我如何从远程TcpClient异步接收数据。接受连接后,我调用此函数:staticasyncvoidReadAsync(TcpClientclient){NetworkStreamns=client.GetStream();MemoryStreamms=newMemoryStream();byte[]buffer=newbyte[1024];while(client.Connected){intbytesRead=awaitns.ReadAsync(buffer,0,buff

c# - NetworkStream 和 TcpClient 有多少缓冲区?

我们正在编写一个TCPServer和Client程序。TcpClient缓冲区中有多少空间?比如,它会在什么时候开始丢弃数据?我们正在尝试确定TcpClient是否可以阻塞,或者它是否应该进入它自己的后台线程(这样缓冲区就不会变满)。 最佳答案 您可以从TcpClient.ReceiveBufferSize中获取缓冲区大小和TcpClient.SendBufferSize.可用的缓冲区大小将随着数据在TCP级别的接收/确认(或未确认)而变化。TcpClient默认是阻塞的。没有数据会因为缓冲区已满而被丢弃,尽管数据可能会在错误情况下

c# - TcpClient.Close() 仅适用于 Thread.Sleep()

我有一个简单的服务器,它从客户端获取字符串并将其打印在屏幕上。我也有简单的客户端,发送数据并关闭:staticvoidMain(){varclient=newTcpClient("localhost",26140);varstream=client.GetStream();Byte[]data=System.Text.Encoding.UTF8.GetBytes("CALCqwer");stream.Write(data,0,data.Length);stream.Close();client.Close();//Thread.Sleep(100);}对于未注释的字符串“Thread.

.net - 在 C# 中使用 TcpClient 的 HTTP 客户端真的很奇怪

我正在实现一个简单的HTTP客户端,它只连接到Web服务器并获取其默认主页。在这里,它工作得很好:usingSystem;usingSystem.Net.Sockets;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){TcpClienttc=newTcpClient();tc.Connect("www.google.com",80);using(NetworkStreamns=tc.GetStream()){System.IO.StreamWritersw=newSystem.IO.Strea

c# - 如何处理一些异步的 TcpClient 响应?

我使用thisclassforasynchronousclient-serverTCPnetworkconnection在我的项目中。我最常连接到“远程服务器”并通过TCP连接(来自另一家我们无法更改TCP以外的通信方法的公司)发送和接收数据“接口(interface)Web服务”。这个“InterfaceWebService”处理“ClientApps”请求,创建数据并通过TCP连接传递到“Remoteserver”,并将“远程服务器”的(响应)解析响应传递给“客户端应用程序”。注意当前的TCP连接,通过OnDataReceived事件接收“Remoteserver”响应。(这个事件