【问题标题】:Connect several clients to GSM LAN Modem to send SMS将多个客户端连接到 GSM LAN 调制解调器以发送 SMS
【发布时间】:2017-07-29 06:37:03
【问题描述】:

我用 C# 编写了一个使用 GSM LAN 调制解调器(Coniugo)发送 SMS 的程序。我使用套接字作为客户端异步连接到 GSM LAN 调制解调器。 Modem IP 地址为 192.186.2.1,端口为 10001。我使用此代码启动与 Modem 的连接

AsynchronousClient smsClient;    // the clinet manager
IPAddress ipAddress;
int port;
IPEndPoint remoteEP;

// Create a TCP/IP socket.
Socket client;

 private void btnStartConnect_Click(object sender, EventArgs e)
    {

        try
        {
            ipAddress = IPAddress.Parse("192.186.2.1");
            port = 10001;
            remoteEP = new IPEndPoint(ipAddress, port);

            // Create a TCP/IP socket.
            client = new Socket(AddressFamily.InterNetwork,
            SocketType.Stream, ProtocolType.Tcp);

            // Connect to the remote endpoint.
            client.BeginConnect(remoteEP, 
                new AsyncCallback(smsClient.ConnectCallback), client);

            smsClient.connectDone.WaitOne();

            if (client.Connected)
            {
                lblStatus.Text = "Client is Connected";
                smsClient.Receive(client);
            }
            else
            {
                lblStatus.Text = "Client is Not  Connected";

            }

        }
        catch (Exception ex)
        {
            lblStatus.Text = ex.ToString();
        }

    }

当我运行代码并开始从网络中的主机连接到调制解调器时,连接没有问题,但是当我尝试在另一台主机上运行代码时,连接不起作用。我收到异常消息

No connection could be made because the target machine actively refused it 192.186.2.1:10001. 

如何使用socket从多个主机连接到GSM Modem,并避免这个异常?

【问题讨论】:

    标签: c# sockets network-programming client-server sms-gateway


    【解决方案1】:

    你不能。 Coniugo GSM 调制解调器中的网络适配器(来自 Lantronix)一次只能接受一个连接。

    这是必要的:调制解调器本身不能处理多个连接。调制解调器实际上使用串行通信——只能处理一个连接。如果您允许多个 TCP 连接,则两个用户可以同时发送数据。调制解调器无法处理这种情况。

    你有两个选择:

    1. 您的程序只连接到调制解调器,只要它需要发送 SMS。输入所有数据,点击发送,程序连接,发送短信,然后断开连接。

    2. 您编写了一个连接到调制解调器的服务器程序。您想要发送 SMS 的客户连接到该服务,它会处理排队和发送 SMS 以及让个别客户了解状态。

    我会选择选项 2。

    【讨论】:

      猜你喜欢
      • 2023-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多