c# – System.Net.Sockets.SocketException创建websocket连接时
发布时间:2020-12-15 22:44:29 所属栏目:百科 来源:网络整理
导读:我是websocket的新手.我在.net 4.5框架中创建了一个控制台应用程序,并使用库“WebSocketSharp”创建了一个示例websocket客户端.我有以下代码 using System;using WebSocketSharp;namespace WebsocketTest{ class Program { public static void Main(string[]
我是websocket的新手.我在.net 4.5框架中创建了一个控制台应用程序,并使用库“WebSocketSharp”创建了一个示例websocket客户端.我有以下代码
using System; using WebSocketSharp; namespace WebsocketTest { class Program { public static void Main(string[] args) { try { using (var ws = new WebSocketSharp.WebSocket("ws://192.168.18.186:7884")) { Console.WriteLine("started"); ws.Connect(); ws.Send("START"); Console.ReadLine(); } }catch(Exception ex) { Console.WriteLine(ex.Message); Console.ReadLine(); } } } } 但是我无法创建与在另一台机器上运行的websocket服务器的连接.我收到这样的错误信息 09-05-2017 16:20:41|Fatal|WebSocket.connect:0|System.Net.Sockets.SocketException (0x80004005): No connection could be made because the target machine actively refused it 192.168.18.186:7884 at System.Net.Sockets.TcpClient..ctor(String hostname,Int32 port) at WebSocketSharp.WebSocket.setClientStream() at WebSocketSharp.WebSocket.doHandshake() at WebSocketSharp.WebSocket.connect() 与我的代码有关的问题是什么?有什么好的websocket库可用吗? 解决方法
查找代码是否存在问题的最简单方法是使用任何支持Web套接字的浏览器尝试连接到端点,并查看会发生什么.如果不确定,你也可以只使用telnet – 因为web-socket开始是一个文本协议(http 1.1标题)而你没有使用SSL,你应该只能打开一个连接并发送一些虚拟标题.如果telnet无法连接:您的代码将无法连接.
如果telnet可以连接,则客户端lib可能存在问题.实际上有一个内置于.NET中的Web套接字客户端,您应该可以使用它( (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |