我的程序是这样:有个服务器程序,专门用来启动服务,建立网络,通过服务器端可以得到远程客户机的软件的界面,界面里有很多数据,都是放在Edit控件里的参数,需要通过服务器端控制之后,从客户端传送到服务器端,问题是:如果是多个Edit控件,比如有8个,每个edit控件里的数据是0.4,0.6,0.2,0.9,0.12,0.34,0.4,0.23这样的数据。当服务器端点击接受数据按钮之后,直接通过网络socket字得到客户端界面里的数据,请问是对于服务器端来说,是不是Recv的过程,对于客户端是Send的过程。当服务器端修改了数据之后,是不是用Send发送出去,客户端是Recv的过程?请问这个过程具体通讯过程是怎么样的?初始化套接字,基本配置建立我会做了。中间这个发送和接受过程感觉比较混乱。
请哪位大哥帮忙?

解决方案 »

  1.   

    双方都是发送和接受的过程:
    当服务器端点击接受数据按钮之后,要通知客户端发什么数据过来,所以有一个Send过程,同样客户端接下来收到这个要求之后发送数据过来~~~
    当服务器端修改了数据之后,要把修改的信息发给客户端~~~
      

  2.   


    一看就知道楼主第一次编写网络程序!我第一次写网络程序时,跟你一样,找不着北!对于初学者,我建议不要用 Windows API Socket ,而是应该用 CSocket 。CSocket 是阻塞的,它对于初学者用起来比较直观,容易理解。下面我们来看看楼主的问题:对于一个问题,我们要简单化它,不要把它复杂化。楼主现在是不太会写网络程序,所以先把你的什么远程控制抛开,只写一个简单的客户端、服务器程序。// 服务器端程序流程
    1、建立 Socket,指定端口;
    2、开始监听;(在这里阻塞了,一直要等到客户的请求到来)
    3、客户请求来了,用一个新的 Socket 接受请求;
    4、接收或者传输数据;
    5、关闭2个 Socket上面的流程只能完成一次操作,如果要服务器端要长期监听,那就要用一个循环,如下:
    1、建立 Socket,指定端口;
    2、while(1) 来个循环;
       {
    3、   在循环中开始监听;
    4、   客户请求来了,用一个新的 Socket 接受请求;
    5、   接收或者传输数据;
    6、   关闭接收数据的 Socket;
       }上面是个死循环,所以服务器时刻都等待接收客户端的请求。客户端,我就不写了。大概意思就这样,楼主应该先做小练习,先弄明白到底网络编程是怎么回事;然后你的实际问题有眉目了。
      

  3.   

    哎,LS精辟言论啊.我刚开始学网络的时候,就没人指点.
    //===对于一个问题,我们要简单化它,不要把它复杂化。
    ding
      

  4.   

    比较简单的socket编程,找本网络编程看看就有眉目了。这里要说的是数据建议以结构的方式来处理
      

  5.   

    Socket 编程是阻塞式的,如果需要多个客户端那服务器一方最好要用多线程