【问题标题】:Tcpclient not connectingtcpclient 连接不上
【发布时间】:2015-03-27 12:55:02
【问题描述】:

我正在尝试将 Tcpclient 运行到 Switch,但我遇到了困难。 我有一个代码只连接到 IP 并告诉我它是否连接成功。问题是它什么也没告诉我。

代码如下:

Imports System.Net.Sockets
Imports System.Net
Imports System.Threading
Imports System.Text

Public Shared Sub Main()
    Dim myTcpClient As New TcpClient()
    Try
        myTcpClient.Connect(IP address, 23)
    Catch ex As ArgumentOutOfRangeException
        Console.WriteLine(ex.Message)
    Catch ex As SocketException
        Console.WriteLine(ex.Message)
    End Try
End Sub

我正在尝试制作一个允许用户自动更改交换机上的 Vlan 的应用程序,因此任何其他建议都会有所帮助。

【问题讨论】:

  • 连接后添加:Console.WriteLine("connected ? : {0}", myTcpClient.Connected) ?

标签: vb.net tcpclient


【解决方案1】:

根据您使用的过载myTcpClient.Connect(IP address, 23),它使用指定的 IP 地址和端口号将客户端连接到远程 TCP 主机。你确定主机(TcpListener)正在监听并启动吗?端口是否开放,这种小错误需要先检查。如果不是这些...

Here's 一个很棒的链接,完全符合您的要求,希望您觉得它有用。

另外说明......

有很多事情会破坏套接字上的通信,其中许多完全超出您的控制范围,最好保持简单。

您可以进行心跳,每隔 X 次从客户端发送一条“我在这里”消息,然后让服务器运行并查看 X * 小提琴因子间隔是否没有消息。但是会使用处理器时间和带宽。

另一个选项取决于您的客户端检测到它不再连接并请求新连接。如果您在请求中有唯一标识符,您可以为它运行现有的连接,将其杀死(如果存在),然后开始然后正常继续。

引用自here...

【讨论】:

  • ...新手问题:真的需要 TCPListener 吗?我只想使用 CMD.exe 或 Sendkeys 向 Switch 或 Switch 发出命令以更改 Vlan。一切似乎都指向套接字。
猜你喜欢
  • 1970-01-01
  • 2016-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-11-26
  • 1970-01-01
  • 2020-06-07
  • 1970-01-01
相关资源
最近更新 更多