C# 创建websocket连接时System.Net.Sockets.SocketException
我是websocket的新手。我在.NET4.5框架中创建了一个控制台应用程序,并使用库“WebSocketSharp”创建了一个示例websocket客户端。我有以下代码C# 创建websocket连接时System.Net.Sockets.SocketException,c#,.net,websocket,system.net.sockets,websocket-sharp,C#,.net,Websocket,System.net.sockets,Websocket Sharp,我是websocket的新手。我在.NET4.5框架中创建了一个控制台应用程序,并使用库“WebSocketSharp”创建了一个示例websocket客户端。我有以下代码 using System; using WebSocketSharp; namespace WebsocketTest { class Program { public static void Main(string[] args) { try
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 socket的浏览器尝试连接到端点,然后查看发生了什么。如果不确定,您也可以只使用
telnet
——因为web套接字最初是一种文本协议(http 1.1头),并且您没有使用SSL,所以您应该能够打开一个连接并发送一些虚拟头。如果telnet
无法连接:您的代码将无法连接
如果telnet
可以连接,则客户端库可能有问题。实际上,.NET中内置了一个web套接字客户端,您应该能够使用它()