android如何与手机进行通信(socket连接)

2020-11-29 14:15:42 字数 7038 阅读 9335

1楼:匿名用户

其实跟电脑差不多了,android里调用socket的方法,拿到socket后就可以发送数据并接收数据。

我最近正在做android方面的通信,真的想把完整的**都给你,可是没办法,公司机密。。

给你我的socket连接类吧。。。

package sean.socket;

///////////把mytype的一些方法替换成writer的方法

import java.io.ioexception;

import java.io.inputstream;

import java.io.outputstream;

import java.***.i***address;

import java.***.socket;

import java.***.unknownhostexception;

import sean.sysout;

import sean.business.businesscenter;

import sean.business.loginmanager;

import sean.format.mytype;

import sean.io.reader;

import sean.transfer.bytesbuffer;

import sean.transfer.datacenter;

public class socketthread implements runnable

@override

public void run()

} else

// }

// 执行到这里说明inputstream.read()已中断,说明socket已断开连接

// cs=null;

loginmanager.setloginvalue(-1);// 业务中心登录注销,即登录管理器注销登录

datacenter.setbool_login(false);// 数据中心登录注销

sysout.printexception(cs + "已断开。");

thread.sleep(2 * 1000);// 睡眠2秒后继续循环

// try catch (ioexception e)

} catch (unknownhostexception e) catch (ioexception e)

try catch (interruptedexception e2)

string exceptioninfos=e.tostring();

if(exceptioninfos.endswith("connection refused"))

} catch (ioexception e1) catch (interruptedexception e2)

}} catch (interruptedexception e)

}// while(bool_socketthread)

sysout.println("socketthread已停止。", sysout.tempoutdebug);

}public static socket getsocket()

// public void setbool(boolean bool0)

public static outputstream getoutputstream()

public static void stopsocketthread()

}} catch (ioexception e) }}

必须先在android里启动一个服务,由服务去启动这个socket线程,因为如果是ui去启动的话,页面会卡住。。。

如何用socket实现android手机与手机之间的通信

2楼:组长景吞

有两种方案:

1、在pc机上建立服务器,手机与手机之间的通信通过服务器进行中转2、一部手机作为服务器,另一部手机作为客户端接入该手机一般是第一种方案

如何用socket实现android手机与手机之间的通信

3楼:育知同创教育

有两种方案:

1、在pc机上建立服务器,手机与手机之

间的通信通过服务器进行中转

2、一部手机作为服务器,另一部手机作为客户端接入该手机

一般用第一种方案,示例**如下:

1、pc端:

serversocket=new serversocket(5648); //在5648端口进行侦听

socket sk = serversocket.accept();//如果有接入,则创建对应的socket;

2、手机端:

socket=new socket("tobacco5648.xicp.***",5648);//连接socket

3、消息输入输出:

pw=new printwriter(socket.getoutputstream()); //消息输出

pw.println("发送消息");

pw.flush();

br=new bufferedreader(new inputstreamreader(socket.getinputstream())); //消息接收

while((str=br.readline())!=null)

4楼:匿名用户

参考一般的java的socket编程,如果通过手机网络,就不要使用udp即可。

5楼:匿名用户

可以用wifi热点来实现通信,用一个手机开启wifi热点后,启动socket监听,另一台手机连接wifi后,开始连接服务器socket,连接成功了,就可以通信了. 留地址发源码给你, **可能写的不怎么样,但是简单的通信都是ok的!

6楼:小船儿水中过

主要应用socket技术,android本身具有这个api,你直接调用即可,可以用wifi这数据线连接

android 之间能否通过 socket 进行通信. 5

7楼:匿名用户

第一个问题:这是可以的,android通过socket访问本机服务器pc, ip是10.0.2.2。

第二哥问题:用serversocket建立一个对象 serversocket serversocket = new serversocket(serverlistenport, connectionmaxlength, i***address.getbyname(serveripstring));

再加一个监听socket in***ing = serversocket.accept();就可以检测客户端发过来的连接请求,之后使用流就可以完成他们之间的通信了。

原创手打,thanku

8楼:匿名用户

能,ip是127.0.0.1,端口随便定

9楼:匿名用户

http://blog.csdn.***/wufenglong/archive/2010/07/31/5778862.aspx

哦,我想不能,因为他们不能解析各自的ip,都默

认是127.0.0.1,怎么连呢。

10楼:匿名用户

android与android之间能否通过socket建立通信?

不可以吧。现在一般的手机网络**都是由一个pc服务端做中转的,要是手机直接可以直接连接何必要那么干呢?

安卓手机如何通过蓝牙进行socket通信 25

11楼:匿名用户

uuid值出现错误。看一下android有关bluetooth的api,用于普通蓝牙适配器和android手机蓝牙模块连接的,而且这

个uuid的值必须是00001101-0000-1000-8000-00805f9b34fb。这个是android的api上面说明的.connect().

在连接的时候,android手机作client(主动和电脑建立连接),如果电脑作为server(一直监听是否有服务连接),则需要在手机端调用这样一行**.两边的uuid必须是一样的,这是一个服务的唯一标识。

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

12楼:匿名用户

你的这个问题就好比,你家宽带拨号获得一个ip,然后你想通过这个ip来直接连接到我的电脑(也是宽带拨号), 这是不可能的。。。。因为我们的拿到的ip都不是a b类的ip,而是运营商下的c类ip,并且网关也不一样。。。。手机上的ip也是这个意思,当你开机系统pppd拨号拿到的也只是个运营商的c类ip。。

本人网络学的并不是很好,可能术语表达并不正确。。。但是大概是这个意思。。。

13楼:匿名用户

可以的,只要通信的ip是通的就行了。

有两种方案:

1、在pc机上建立服务器,手机与手机之间的通信通过服务器进行中转

2、一部手机作为服务器,另一部手机作为客户端接入该手机

一般是第一种方案

1、pc端:

serversocket=new serversocket(5648); //在5648端口进行侦听

socket sk = serversocket.accept();//如果有接入,则创建对应的socket;

2、手机端:

socket=new socket("tobacco5648.xicp.***",5648);//连接socket

3、消息输入输出:

pw=new printwriter(socket.getoutputstream()); //消息输出

pw.println("发送消息");

pw.flush();

br=new bufferedreader(new inputstreamreader(socket.getinputstream())); //消息接收

while((str=br.readline())!=null)

14楼:匿名用户

首先没理解你所谓的“通过手机ip连接,且不是连接到一个局域网”的含义。ip只是一个地址,那么什么是通过ip连接? 也许你想说的是不用通过局域网交换机/集线器/wifi路由器连接,是否有其他的通信方式?

其实不用这些网络设备你也可以通信,用一个安卓手机,将wifi热点打开,让别的手机使用该热点wifi网络,这样就可以几个手机进行互相通信了。其实还是使用了wifi路由器,只不过是用手机本身的wifi网卡实现的。

pc服务器端和android手机客户端socket通信问题

15楼:卡卡西

1. pc服务器启用serversocket

两个通信实体在建立虚拟链路之前,需要有一方先准备好,主动接受来自其他通信实体的连接请求。

使用serversocket对象监听来自客户端的socket连接。

//创建serversocket对象

serversocket ss = new serversocket(30000);

//监听来自客户端的请求

while(true)

如果没有连接,则将一直处于等待状态。当接收到连接请求后,获取消息到输入流,并保存到文件。

//接收客户端消息

bufferedreader in = new bufferedreader(new inputstreamreader(client.getinputstream()));

string str;

bufferedwriter bw = new bufferedwriter(new filewriter("d:/apinfo"+ (i++) +".txt"));

while ((str = in.readline()) != null)

2. android终端使用socket通信

客户端使用socket的构造器连接服务器,指定服务器ip和端口号就可以了。

socket s = new socket(“192.168.1.100”, 30000);

这样服务器端的accept()方法就得到响应,从而向下执行,服务器端和客户端就形成了一对互相连接的socket。再进行通信时就没有服务器和客户端之分了,都是通过输入输出流进行通信。

详细步骤:

采用handler和timertask来定时扫描ap信息并发送给服务器端。timertask规定了到达指定的时间所要进行的任务。

timertask task = new timertask()

};handler传递message内容:

handler handler = new handler()

super.handlemessage(msg);

} }

接下来扫描ap信息并发送给服务器端,然后将结果保存。

wifimanager wifimanager=(wifimanager) getsystemservice(wifi_service);

wifimanager.startscan();

mwifilist = wifimanager.getscanresults();

由wifimanager说明可知,它可以用于处理已配置的网络,当前连接的网络及ap信息的扫描等情况。

向服务器发送消息:

socket = new socket("192.168.1.211",30000);

//向服务器端发送消息

printwriter out = new printwriter( new bufferedwriter( new outputstreamwriter(socket.getoutputstream())),true);

out.println(message);

其中message为获取的ap信息,测试收到的信息格式为:

ssid: icis_lab, bssid: 1c:

af:f7:9a:

65:e4, capabilities: [wpa-psk-tkip+ccmp], level:

-80,frequency: 2437

旋转编码器和主轴怎么连接安装,空心轴编码器如何与主轴进行连接?

1楼 1 增加一个变速箱实现变径。将增加设备费。 2 加工一个变径接手。必须保证加工精度和安装精度。 3 在主轴上钻个孔,将编码器的轴嵌入,编码器外壳固定他处。必须保证加工精度和安装精度。 4 在主轴上钻个孔,嵌入一根细轴 或加工一个变径轴固定在主轴上。如果扭转性能要求不高,采用软接手或弹簧接手连接...