-
2 votesanswersviews
发送许多Protobuf消息时NetworkStream关闭
我使用protobuf-net和.NET的TCPClient和NetworkStream进行一个服务器和许多客户端之间的通信 . 对于发送消息,我在两侧使用以下方法: public static bool WriteProtocolBufferToStream(System.IO.Stream stream, object protoBufObject) { ... -
1 votesanswersviews
检测到不安全的服务器(NetworkStream)的SslStream(客户端)连接尝试?
我有一个服务器正在使用 TcpListener.BeginAcceptTcpClient() 方法监听客户端 . 当客户端连接时, EndAcceptTcpClient 方法给我 TcpClient 对象,然后我调用该客户端流的 NetworkStream.BeginRead() 来监听从客户端传输的数据 . 一切正常,直到客户端(期望服务器支持SSL)尝试连接到(不安全)服务器 . 当客户端尝试... -
27 votesanswersviews
如何检查TcpClient连接是否已关闭?
我正在玩TcpClient,我试图弄清楚当连接断开时如何使Connected属性说错 . 我试过了 NetworkStream ns = client.GetStream(); ns.Write(new byte[1], 0, 0); 但是如果TcpClient断开连接,它仍然不会显示给我 . 你会如何使用TcpClient进行此操作? -
1 votesanswersviews
客户端关闭连接时,在服务器上多次调用NetworkStream回调
我正在编写一个模拟器来测试(取消)对象的序列化并通过TCP发送它们 . 我在C#中使用TcpClient,TcpListener和NetworkStreams进行通信 . 我想打开一个连接,发送多条消息,并在一段时间后关闭连接 . Build 连接并在两个方向上发送数据包都可以正常工作 . 但是,当我关闭客户端上的连接(调用 stream.Close() 和 tcpClient.Close() ... -
1 votesanswersviews
如何将TCPClient和NetworkStream移植到Silverlight?
为什么Silverlight中缺少TCPClient和NetworkStream?是否有任何已知的TCPClient和NetworkStream端口到Silverlight?如果没有,我是否可以将源代码从.NET 4运行时复制到我自己的库中?如果没有,我如何开始将这些类移植到Silverlight? -
1 votesanswersviews
如何在MongoDb C#驱动程序中添加重试?
有时 Find 方法中的 ReceiveBufferAsync 抛出: MongoDB.Driver.MongoConnectionException:从服务器接收消息时发生异常 . ---> System.IO.IOException:无法从传输连接读取数据:连接尝试失败,因为连接方在一段时间后没有正确响应,或者由于连接主机无法响应而 Build 连接失败 . ---> Sys... -
2 votesanswersviews
使用NetworkStream类时检测客户端TCP断开连接
我的一个朋友遇到了一个问题:当在连接的服务器端使用NetworkStream类时,如果客户端断开连接,NetworkStream无法检测到它 . 剥离后,他的C#代码看起来像这样: List<TcpClient> connections = new List<TcpClient>(); TcpListener listener = new TcpListener(7777)... -
0 votesanswersviews
存储多个TcpClient连接 - VB.NET
我正在构建一个可以与游戏服务器通信和发送命令的应用程序 . 在游戏世界中,我们称之为远程控制台的“rcon”,但实际上它只是一个telnet会话 . 身份验证成功后,可以向服务器发出文本命令,并将文本响应发送回客户端 . 通常,服务器管理员/所有者运行多个游戏服务器,并且每个服务器都有自己独特的IP地址,端口和密码 . 我希望我的应用程序循环遍历服务器的列表/数组/数据表/字典(或任何方法最好),... -
1 votesanswersviews
NetworkStream仅在Windows 10中读取错误
我遇到一个奇怪的错误,我只尝试编写和读取流缓冲区,但在尝试读取它时引发SocketException . 这是我的代码: // create tcp client System.Net.Sockets.TcpClient client = new System.Net.Sockets.TcpClient("<localhost>", <port>); ...