我在stackoverflow中搜索了这个主题,发现telnet库会有所帮助,我在这里找到了一个telnet库:C# Telnet Library 但我不知道如何使用telnet库在我的路由器中打开一个端口。我正在使用AT& T 2wire路由器。有关如何做到这一点的任何提示?
答案 0 :(得分:0)
你做不到。 2wire路由器本身就是一个孤岛,如果它决定阻塞一个端口,外部的任何东西都不能(或者应该)能够改变它。你走错了路,需要重申你的目标才能得到有用的答案。
UPnP和其他“打孔”技术确实存在:但如果您尝试回复任何广泛部署,您将处于一个受伤的世界。
也许您打算打开与远程服务器的连接,然后建立双向通信。这很容易......以及其他游戏和工具如何完成工作。
答案 1 :(得分:0)
从技术上讲,你不应该这样做。如果被阻止,您不应该使用外部程序访问路由器来打开端口。
如果您的意思是打开通信端口(未被阻止),那么您只需创建带有地址和端口的套接字(例如localhost 7777)即可建立进程间通信或只是与其他服务器进行通信。
正如我在下面的评论中提到的,有些端口可供使用(在C#中,这可以很容易地进行测试,如果端口打开,快速谷歌搜索会找到许多用于测试的代码片段)。一个简单的方法是简单地从端口1024开始(我相信这是应用程序应该使用的端口的正确下限,如果我错了,有人会纠正我)并且只是开始计数直到找到可用的端口,如果您发现自己达到了某个上限,则只能报告无法建立连接。我希望这会更清楚一点,如果我有时间,我会尝试找到一些代码,并编辑它,但老实说,快速搜索可以为您提供类似的代码来检查C#中的端口。