如何从远程 ip 中的 C# 访问 websocket URL?

Posted

技术标签:

【中文标题】如何从远程 ip 中的 C# 访问 websocket URL?【英文标题】:How to access the websocket URL from C# which is in remote ip? 【发布时间】:2017-01-18 12:32:29 【问题描述】:

我的 Websocket URL 是这样的 "ws://someip:port/demo/"

我正在尝试访问该 URL,它将返回 Json。我是 C# 新手。我试过下面的代码

var client = new UdpClient();
IPEndPoint ep = new IPEndPoint(IPAddress.Parse("ipvalue"),portvalue );
client.Connect(ep);
var receivedData = client.Receive(ref ep);
Console.Write("receive data from " + ep.ToString());
Console.Read()

但它显示无效的 URL。我也尝试过其他代码,但它也是错误的。请指导我。 谢谢

【问题讨论】:

您是否有广播或普通 UDP 连接。广播消息(如多播 224-239 ip),您必须在 IP 上收听。任何不连接到服务器。 我的 ip 不在那个范围内.. 可能是我对 UDP 方法完全错误。你能指导我吗?但是在该 ip 中运行的侦听器 使用UDP没有错。可能存在端口号被阻止或被不同协议使用的问题。使用 cmd.exe >netstat/a 确定服务器上的端口是否打开。使用端口号 > 1024。 我检查并打开了... 现在我如何从这个 URL“ws://someip:port/demo/”接收结果?可能是一个代码 sn-p 会帮助我.. 这与 WebSockets 有什么关系? WebSocket 是 TCP 之上的协议。 【参考方案1】:

WebSocket != 套接字

WebSocket 是建立在 TCP 之上的协议,需要 HTTP 来建立连接。不幸的是,您不会使用new UdpClient() 实现任何目标。

为了连接到 websocket,您需要获取 websocket 库(或者,它看起来像 .NET already supports it)并使用它而不是创建 TCP 套接字。

【讨论】:

以上是关于如何从远程 ip 中的 C# 访问 websocket URL?的主要内容,如果未能解决你的问题,请参考以下文章

如何从 Heroku 访问远程 MySQL 数据库?

MYSQL数据库如何赋予远程某个IP访问权限

在 C# 中通过远程处理获取外部 IP 地址

带有 MySQL 连接器的 C# - 访问被拒绝

使用 c# 从另一个域访问远程目录

从 C# 访问 Sharepoint 远程文件夹