我们现在要设计一个数据传输系统,有如下需求:
服务器A负责产生数据,服务器B从A上取数据(注意,是主动去取,A不能向B发送数据)。
请问如果要用socket来实现的话,B如何才能从A取数据呢?

解决方案 »

  1.   

    设计一个协议:约定一个端口。1.B用A的ip地址和端口,建立socket连接。A一值listen约定的端口。
    2.B向A发送一个标识(可以是字符串),表示请求从A中取得某种数据
    3.A接收到标识之后,向B发送数据
    4.发送完之后,A向B发送一个结束标识
    5.B接收到结束标识之后,关闭socket连接
      

  2.   

    使用Socket传输数据哪有不发送只读取的道理?!
    我建议你可以指定一个Server和Client的会话协议,连接建立以后两边开会使用你规定的协议会话,读取数据的一端告诉发送数据的一端发送什么样的数据,如果是数据库的话你甚至可以将SQL语句发送过去,只要另外一端能够正确解析你的发送的指令其他的工作就像对待用户操作就可以了。
      

  3.   

    那还不如把服务器A上产生的数据生成文件进行共享,B先与A建立局域网连接,到指定的目录下去取