草庐IT

Tcpclient

全部标签

c# - 不同端口上 TcpClient 上的多个流?

我对TcpClient类有点困惑。我想连接到我的服务器并有2个流。一个SSL和一个常规的非安全TCP。所以我目前是这样连接的:await_tcpClient.ConnectAsync(address,port);IsConnected=true;_networkStream=_tcpClient.GetStream();_sslStream=newSslStream(_tcpClient.GetStream());问题是我想在不同的端口上使用我的ssl数据。那么我是否需要两个TcpClient实例,一个用于安全,一个用于非安全?或者我可以在这个类的不同端口上有多个流。我很困惑它是怎么做

.net - 如何断开 TcpClient 以允许新连接?

我有一个等待新套接字连接的TcpListener。当建立新连接时,一些其他代码服务来自远程用户的消息。我会定期检查新连接,如果建立了新连接,则应删除旧连接。以前我只是打开新连接,大部分情况下都可以正常工作。不过,有时我会在重新使用同一个端口时遇到问题,所以我认为关闭该连接会更好(我认为这也应该给老用户一个连接已终止的指示)。下面的代码是我尝试这样做的,但由于某种原因,断开连接调用似乎无限期地阻塞。有办法阻止吗?...还是我在这里遗漏了其他东西?while(1){//FYI,m_serverisaTcpListener^andm_clientisaTcpClient^//Checkfor

c# - 通过代理通过 TcpClient 连接到 TCP 服务器

我的系统正在通过代理服务器访问互联网(IE代理服务器地址:myserver.mydomain.com,端口:80)。我正在尝试使用类"System.Net.Sockets.TcpClient"将一些数据发送到TCP服务器。但我无法连接。如果我尝试使用静态IP互联网,我可以连接。有没有办法提供代理地址?我很确定问题出在代理上,因为我已经在两个不使用代理的系统上进行了尝试,但效果很好。我的应用程序是控制台应用程序。我的代码是这样的:TcpClienttcpClient=newTcpClient("tcpserver.com",3101);stringmessage="message";by

c# - 是否可以为 tcpClient 设置任意 ip 地址?

我有一个诊断程序来处理硬件设备网络。互连基于TCP协议(protocol)。诊断程序是服务器,使用TcpListener监听连接,硬件作为客户端连接到服务器并传输数据。诊断程序和硬件设备的IP地址是预定义的,必须不变,诊断程序只等待预定义的硬件IP地址。诊断程序的IP地址为192.168.1.11,硬件设备的IP地址为192.168.1.200、192.168.1.201等+--------------++---------------+|[server]||[hwclient1]||||192.168.1.200||diagnostic|+---------------+|progr

c# - 端口检查工具导致 TcpClient 服务器上的无限数据包接收循环

我写了一个比较基础的异步服务器,它启动一个任务来接受客户端,然后每个客户端启动一个任务来接受传入的数据包,代码如下:MessageListeningTask=newTask(async()=>{while(true){byte[]buffer=newbyte[256];try{awaittcpClient.GetStream().ReadAsync(buffer,0,buffer.Length);}catch{break;}stringdata=Encoding.UTF8.GetString(buffer).Trim('\0','\n','\r','\t','');OnMessageR

c# - TcpClient 流写入在流/连接关闭之前不适用

我正在尝试制作一个简单的TCP程序。我可以让客户端连接到服务器,但是当我的客户端调用stream.Write时,服务器不会读取发送的数据,直到客户端关闭连接。除此之外,当我的客户端尝试读取服务器的响应时,客户端会抛出IOException。("连接方在一段时间后没有正常响应,或者因为连接的主机没有响应而建立连接失败。")服务器代码:listener.Start();TcpClientclient=listener.AcceptTcpClient();NetworkStreamns=client.GetStream();//WaitformessageMemoryStreamms=new

c# - TcpClient 未连接到远程服务器

我正在尝试使用TcpClient类连接到远程机器,但它一直失败:Anunhandledexceptionoftype'System.Net.Sockets.SocketException'occurredinSystem.dllAdditionalinformation:Aconnectionattemptfailedbecausetheconnectedpartydidnotproperlyrespondafteraperiodoftime,orestablishedconnectionfailedbecauseconnectedhosthasfailedtorespond当客户端和

c# - TcpClient 抛出 SocketException

我得到了以下代码:publicstaticreadonlyIPEndPointRootNode=newIPEndPoint(IPAddress.Parse("213.226.18.82"),8333);publicstaticvoidMain(string[]args){TcpClienttcpClient=newTcpClient(RootNode);}这将抛出一个SocketException消息Therequestedaddressisnotvalidinitscontext。现在奇怪的是这段代码有效:publicstaticreadonlyIPEndPointRootNode=

c# - 在 C# 中设置 TcpClient 本地端点时出现问题

为什么以下代码不能在C#中运行?varc1=newTcpClient(newIPEndPoint(IPAddress.Any,8787));varc2=newTcpClient(newIPEndPoint(IPAddress.Any,8788));c1.Connect("localhost",8788);我收到“无法建立连接,因为目标机器主动拒绝”。因此,TcpClient构造函数似乎没有绑定(bind)端口,但我尝试了Socket.Bind()函数,但也没有成功。 最佳答案 两个TcpClient不能互相交谈。您需要一个TcpCl

c# - 性能比较 TcpClient 与 HttpWebRequest

我正在将XML字符串发送到AIX机器上的端口。我有两种连接到此框的方法(TcpClient和HttpWebRequest)。我有计时器让我知道AIX机器处理我的请求和响应需要多长时间。看起来TcpClient比HttpWebRequest快了100毫秒。我怀疑我的计时器位置可能不正确。无论哪种方式,我都不认为计时器位置会造成如此大的响应时间差异。我的另一个想法是using语句。也许他们保持连接打开的时间比TcpClient长。已知TcpClient方法更快吗?//TcpClientTcpClientclient=newTcpClient(host,port);DateTimex=Dat