我有一个TcpClient,我用它将数据发送到远程计算机上的侦听器。 远程计算机有时会打开,有时会closures。 正因为如此,TcpClient将无法经常连接。 我想让TcpClient在一秒钟后超时,所以当它无法连接到远程计算机时,并不需要太多的时间。 目前,我使用这个代码为TcpClient: try { TcpClient client = new TcpClient("remotehost", this.Port); client.SendTimeout = 1000; Byte[] data = System.Text.Encoding.Unicode.GetBytes(this.Message); NetworkStream stream = client.GetStream(); stream.Write(data, 0, data.Length); data = new Byte[512]; Int32 bytes = stream.Read(data, 0, data.Length); this.Response = System.Text.Encoding.Unicode.GetString(data, 0, bytes); stream.Close(); client.Close(); FireSentEvent(); //Notifies of success } catch (Exception ex) { FireFailedEvent(ex); //Notifies […]
我有一个vb.net应用程序打开一个套接字,并在其上侦听。 我需要使用运行在浏览器上的JavaScript通过这个套接字与该应用程序进行通信。 这就是我需要发送一些数据在这个套接字,以便在这个套接字上侦听的应用程序可以采取这些数据,做一些东西使用一些远程调用,并获得更多的数据,并把它放回我的JavaScript需要的套接字阅读并在浏览器中打印。 我试过,socket.io,websockify,但没有certificate是有用的。 因此,这个问题,我正在尝试什么? 有没有一种方式,在浏览器中运行的JavaScript可以连接到一个TCP套接字,并发送一些数据,并监听它在套接字上的更多的数据响应,并将其打印到浏览器。 如果这是可能的,那么有人可以指出我正确的方向,哪个能帮助我确立目标。
我一直在为此而苦苦挣扎,无法find我的代码无法正确读取我写的TCP服务器的原因。 我正在使用TcpClient类和它的GetStream()方法,但没有按预期工作。 无论是操作块无限期(最后一次读取操作没有按预期超时),或数据被裁剪(出于某种原因,读取操作返回0并退出循环,也许服务器没有足够快的响应)。 这是实现这个function的三个尝试: // this will break from the loop without getting the entire 4804 bytes from the server string SendCmd(string cmd, string ip, int port) { var client = new TcpClient(ip, port); var data = Encoding.GetEncoding(1252).GetBytes(cmd); var stm = client.GetStream(); stm.Write(data, 0, data.Length); byte[] resp = new byte[2048]; var memStream = new MemoryStream(); […]
基于序列化(在这里提到https://stackoverflow.com/a/7849374/985798 )我正在尝试重新构build我的小型TCP应用程序,直到现在使用string消息。 但是我遇到了一个小问题,我想知道你会推荐我使用什么解决scheme: 如果我试图在一个很小的时间间隔内发送多个消息,它们将被合并到“队列”中,客户端将同时收到两个消息,最终会得到一个单独的对象。 在过去,我用一个string分隔符“| end |”解决了这个问题 我能够分割它并在foreach循环中处理它。 这是一个好方法吗? 你将如何解决基于序列化的对象字节数组的问题? 你会使用一个byte[]分隔符或使用另一种解决scheme?
我正在玩TcpClient,我试图弄清楚如何使连接属性在断开连接时显示为false。 我试过了 NetworkStream ns = client.GetStream(); ns.Write(new byte[1], 0, 0); 但是如果TcpClient断开,它仍然不会显示出来。 你将如何去使用TcpClient?
我正在寻找的是Windows Form VB.Net上的一个简单的TCPClient / Listner示例。 我是一个新手和Microsoft TCPClient / Listner类的例子不是我在找什么。 我正在寻找的是TCPClient发送消息和TCPListener获取消息并发送消息“我收到了你的消息”? 一点帮助将是伟大的。 我有一些代码,但只是发送消息到服务器,而不是从服务器回到客户端..任何帮助将非常感激..
在C#中使用TcpClient或通常连接到套接字如何首先检查我的机器上的某个端口是否可用? 更多信息:这是我使用的代码: TcpClient c; //I want to check here if port is free. c = new TcpClient(ip, port);