需要和一台服务器 进行Socket通信,它需要一些参数和返回一些参数。。我应该怎么传递和接收这些参数呢?我看了一下Socket,好像是 向服务器发送一个 流,然后服务器返回一个流。比如,我要传递的参数为:a=11111和b=22222,我应该怎么写这个流?服务器会返回ccccc=33333,我应该怎么去解析服务器返回的流?HTTP中是  &  和  =  来分割参数,,Socket呢?是自定义的吗?

解决方案 »

  1.   

    通常你涉及到具体的数据定义(就是已经订好先是一个int,然后一个long。)的时候,通常用
      DataInputStream/DataOutputStream 、
    来包装socket的 getInputStream/getOutputStream假设你的数据定义变化不可控,在java里常见的是用ObjectInputStream/ObjectOutputStream来包装socket的stream假设你是C程序员转过来的,通常你会喜欢吧数据定个自己的编解码协议,自己写到一个 byte[]里,然后直接用Socket的write去发,然后自己读byte[],自己解码随便你怎么用,Socket只是提供个数据通道而已,你可以想想网络编程都是用很长很长的”吸管“在通讯,用红豆绿豆来表示01数据,有人已经有专门的负责数豆子的程序了,你可以拿来用;你也可以自己数豆子。 --反正吸管还是那个吸管
      

  2.   

    那你就是情况3 每个数据有定义了
    基本上,就是读byte【】,然后用代码一个一个的读取字节,再根据协议,一个一个的拼成数据
    这个必须得有接口协议文档。 不过框架是固定的。