我的程序是这样:有个服务器程序,专门用来启动服务,建立网络,通过服务器端可以得到远程客户机的软件的界面,界面里有很多数据,都是放在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的过程?请问这个过程具体通讯过程是怎么样的?初始化套接字,基本配置建立我会做了。中间这个发送和接受过程感觉比较混乱。
请哪位大哥帮忙?
请哪位大哥帮忙?
当服务器端点击接受数据按钮之后,要通知客户端发什么数据过来,所以有一个Send过程,同样客户端接下来收到这个要求之后发送数据过来~~~
当服务器端修改了数据之后,要把修改的信息发给客户端~~~
一看就知道楼主第一次编写网络程序!我第一次写网络程序时,跟你一样,找不着北!对于初学者,我建议不要用 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;
}上面是个死循环,所以服务器时刻都等待接收客户端的请求。客户端,我就不写了。大概意思就这样,楼主应该先做小练习,先弄明白到底网络编程是怎么回事;然后你的实际问题有眉目了。
//===对于一个问题,我们要简单化它,不要把它复杂化。
ding