dcy652701 2016-10-25 11:37 采纳率: 9.1%
浏览 909

关于与路由器交互的问题

我写了一个C#程序,目的是能够通过路由器控制stc12单片机小车的前进后退

我个人认为,将ip与端口绑定就能实现与路由器的交互,用send方法就能向路由器发送命令,但事实好像不行,求大神们指教一下,代码如下:

public void InitWIFISocket()
{
ips = IPAddress.Parse(ControlIP.ToString());
ipe = new IPEndPoint(ips, Convert.ToInt32(port.ToString()));
Control = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
try
{

            Control.Bind(ipe);

            Control.BeginConnect(ipe, null, null);

            this.lbMessage.Items.Add("连接成功");
        }
        catch(Exception e)
        {
            MessageBox.Show("WIFI初始化失败:" + e.Message, "WIFI初始化失败提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
    public string go = 0x01.ToString();
    public string back = 0x02.ToString();
    public string TurnLeft = 0x03.ToString();
    public string TurnRight = 0x04.ToString();
    public void GO()
    {
        BuffByte = System.Text.Encoding.Default.GetBytes(go);
        Control.Send(BuffByte);
    }
    public void BACK()
    {
        BuffByte = System.Text.Encoding.Default.GetBytes(back);
        Control.Send(BuffByte);
    }
    public void TURNLEFT()
    {
        BuffByte = System.Text.Encoding.Default.GetBytes(TurnLeft);
        Control.Send(BuffByte);
    }
    public void TURNRIGHT()
    {
        BuffByte = System.Text.Encoding.Default.GetBytes(TurnRight);
        Control.Send(BuffByte);
    }

    private void btnFront_Click(object sender, EventArgs e)
    {
        Con += GO;
    }

    private void btnBack_Click(object sender, EventArgs e)
    {
        Con += BACK;
    }

    private void btnTurnLeft_Click(object sender, EventArgs e)
    {
        Con += TURNLEFT;
    }

    private void btnTurnRight_Click(object sender, EventArgs e)
    {
        Con += TURNRIGHT;
    }

    private void btnConnect_Click(object sender, EventArgs e)
    {
        Con += InitWIFISocket;
        this.lbMessage.Items.Add("连接中");
    }
}

Con是定义的一个委托实例,上面代码中,系统不执行try里面的bind方法,而执行了catch,这是为什么?还是说这样的方法与路由器根本没法交互?请大神指教

  • 写回答

1条回答

  • threenewbee 2016-10-25 11:41
    关注

    网络连接的问题,检查下你网络的联通性,比如你的小车连上没有,ip是否正确,端口,路由器的配置。

    评论

报告相同问题?

悬赏问题

  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3