大家好,我刚开始学Android,在做一个小项目,也遇到这个问题,请问你现在能实现几台android手机通过wifi相互交换数据,socket通信。能否在一个手机上模仿几台手机,与服务器通信呢?能否在手机上设几个ip地址求解(因为wifi通信得有ip地址)?求解,谢谢!

解决方案 »

  1.   

    SOCKET通讯只要能建立连接就可以通讯,对多少个没有限制,几万,几十万,几百万,也都可以,看你怎么组网了。
    在一个手机上可以建立多个SOCKET与服务器通讯,若在连接时需要BIND本地端口,可用数量即为可用端口数量,1024端口以上,若没有被其它程序占用,都可以用的,几万个是不成问题的,就看你的内存CPU之类的能不能够支持了,呵呵
    只听说过在以太网卡上设置多个IP的,至于WIFI,不了解
    看看楼下怎么说
      

  2.   

    嗯,就是想在android手机上多模拟几个客户端,有相应的办法实现么?
      

  3.   

    通过wifi和服务器端实现socket通信。并且服务器端可以通过识别手机端的ip地址来定位是哪个手机所发送的,当然由于条件限制,只能有一部手机。所有想问下是否能在一部手机上拥有多个ip?
      

  4.   

    你的SOCKET是不是可以在其它网络上测试
    如果是测客户端互连互发,虽然只有一个手机,还可用模拟器,一个PC可以跑好几个模拟器,如果再多用几台PC,是不是可以满足需要?
    如果只是测试服务器,可以用PC伪装手机发送信息,设上一百个IP ,是不是就够用了。
    或者把上面两个办法都用上:在一个PC上设置多个IP,并建立一个服务端口,这个服务端口接收手机发来的信息,然后通过不同的IP发送给服务器,这样PC就相当于一个单IP到多IP的转换器
    这几个办法是不是都很囧啊,哈哈
      

  5.   

    我想还是得在wifi上实现socket。如果像您说的那样,手机端-->pc机-->服务器,其中手机端只有一个ip地址,再由pc机伪造多个ip,接着由pc机将手机端所发送的内容转发给服务器。如果这样的话,其实质不就是拥有多个ip地址的pc机和服务器通信了么!
    好吧,呵呵,这样又牵扯到了两台电脑的问题了,因为我的实验器材只有一台电脑和一部手机,囧啊!!!
    就是想问问有没有什么方法,在手机端伪造多个ip地址,并且通过这些ip地址通过wifi实现和服务器端的通信,谢谢哈!
      

  6.   

    详询:busybox ifconfig wlan0:x x.x.x.x.....
      

  7.   

    这是我在安卓巴士上的帖子。http://www.apkbus.com/forum.php?mod=viewthread&tid=60022&page=1#pid304371
      

  8.   

    我有一个想法希望大家评论下,在一部手机上多开几个客户端,在每个客户端相互通信的时候,或者给服务器通信的时候,在每个数据包头加上String itsip;当然itsip并不是真正的ip,而是个字符串。接受端接受下来的时候将这个字符串转换成ip格式的地址,即认为这是不同的ip地址发送过来的数据。
            这个过程的实质只有一个ip的手机与pc之间的通信,只不过发数据的时候将消息的头加上伪造的ip地址!
            请各位大侠指正下,谢谢哈!!!
            还有其他方法么? 
      

  9.   

    如果仅仅是测试,当然可以
    如果是发布版本暂时想到的是以下两点
    在开放的环境下,你的各个客户端很可能在不同的局域网里,它们的局域网IP可能是一样的,或者一个子网里有好几台机器,他们的外网IP是一样的,所以你的itsip应该怎么取得
    安全上就是可能会有人伪造itsip当然并不是说没有itsip就没有安全上问题,至少伪造的功夫要多花一些。
    如果上面的问题都不是问题,可以结合项目实际试一下,当然最好也要在实际应用的环境下也测试一下才好,有时候就是,不试不知道,一试吓一跳