请问下,android能不能直接通过手机IP进行socket通信,不是局域.

请问下,android能不能直接通过手机IP进行socket通信,不是几部手机连接到同一个局域网,而是直接通过手机IP连接。急需这个答案,拜托了。
最新回答
漫天飞雪的夏日

2024-10-11 09:37:28

可以的,只要通信的IP是通的就行了。
有两种方案:
1、在PC机上建立服务器,手机与手机之间的通信通过服务器进行中转
2、一部手机作为服务器,另一部手机作为客户端接入该手机
一般是第一种方案
1、pc端:
serverSocket=new ServerSocket(5648); //在5648端口进行侦听
Socket sk = serverSocket.accept();//如果有接入,则创建对应的socket;
2、手机端:
socket=new Socket("tobacco5648.xicp.net",5648);//连接socket
3、消息输入输出:
pw=new PrintWriter(socket.getOutputStream()); //消息输出
pw.println("发送消息");
pw.flush();
br=new BufferedReader(new InputStreamReader(socket.getInputStream())); //消息接收
while((str=br.readLine())!=null){
//接收消息
}
狂舞ギ炫尊

2024-10-11 12:33:57

首先没理解你所谓的“通过手机IP连接,且不是连接到一个局域网”的含义。IP只是一个地址,那么什么是通过IP连接? 也许你想说的是不用通过局域网交换机/集线器/WIFI路由器连接,是否有其他的通信方式? 其实不用这些网络设备你也可以通信,用一个安卓手机,将WIFI热点打开,让别的手机使用该热点WIFI网络,这样就可以几个手机进行互相通信了。其实还是使用了WIFI路由器,只不过是用手机本身的WIFI网卡实现的。
夏日薄雪

2024-10-11 09:34:06

你的这个问题就好比,你家宽带拨号获得一个IP,然后你想通过这个IP来直接连接到我的电脑(也是宽带拨号), 这是不可能的。。。。因为我们的拿到的IP都不是A B类的IP,而是运营商下的C类IP,并且网关也不一样。。。。手机上的IP也是这个意思,当你开机系统pppd拨号拿到的也只是个运营商的C类IP。。本人网络学的并不是很好,可能术语表达并不正确。。。但是大概是这个意思。。。
野稚

2024-10-11 12:40:51

首先没理解你所谓的“通过手机IP连接,且不是连接到一个局域网”的含义。IP只是一个地址,那么什么是通过IP连接? 也许你想说的是不用通过局域网交换机/集线器/WIFI路由器连接,是否有其他的通信方式? 其实不用这些网络设备你也可以通信,用一个安卓手机,将WIFI热点打开,让别的手机使用该热点WIFI网络,这样就可以几个手机进行互相通信了。其实还是使用了WIFI路由器,只不过是用手机本身的WIFI网卡实现的。
丸子头

2024-10-11 08:06:03

等答案!!!!!!