环境:VS2010 winform C#
问题:我现在需要编写个winform程序和下位机(wince6.0)网络通讯。要求如下:
1. 上位机主动连接下位机,并且能够发送命令,如发送AA命令道下位机,下位机返回结果;
2. 如果上位机发送BB命令,则下位机不断的连续发送数据到上位机,直到上位机发送其他命令才结束;我的问题是:
1. 当下位机连续发送数据时,上位机如果需要发送命令道下面,会不会冲突啊?如果此时有数据但上位机停止接收,会不会出问题?
2. 只用一个socket是否可行?通讯winform网络

解决方案 »

  1.   

    1、不会冲突,上位机接收到下位机不断发送的数据,你处理好就可以了
    2、一个socket可行
      

  2.   

    我的设想是线程函数中使用循环获取while(true)
    {
    switch(commond)
    {
       case 0xAA:    //发送和接收
             send();
             recv();
             isLoop = false;
             break;
       case 0xBB:    //开启循环接收
             send();
             recv();
             isLoop = true;
             break;
    }
    if(isLoop)    //循环接收
    {
       recv();
    }
    }
    这么做会有问题么??
      

  3.   

    你测试一下吧,按理说是没问题的,人家socket通讯不都是循环接收的吗,没事的