当前位置:首页 » 安卓系统 » androidpcsocket

androidpcsocket

发布时间: 2022-06-12 14:05:53

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

1. PC服务器启用ServerSocket
两个通信实体在建立虚拟链路之前,需要有一方先准备好,主动接受来自其他通信实体的连接请求。
使用ServerSocket对象监听来自客户端的Socket连接。
//创建ServerSocket对象

ServerSocket ss = new ServerSocket(30000);
//监听来自客户端的请求
while(true){
Socket s = ss.accept();

}

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

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) {
System.out.println(str);
bw.write(str);
bw.newLine();
}

2. Android终端使用Socket通信
客户端使用Socket的构造器连接服务器,指定服务器IP和端口号就可以了。
Socket s = new Socket(“192.168.1.100”, 30000);
这样服务器端的accept()方法就得到响应,从而向下执行,服务器端和客户端就形成了一对互相连接的Socket。再进行通信时就没有服务器和客户端之分了,都是通过输入输出流进行通信。
详细步骤:
采用Handler和TimerTask来定时扫描AP信息并发送给服务器端。TimerTask规定了到达指定的时间所要进行的任务。
TimerTask task = new TimerTask(){

public void run() {
Message message = new Message();
message.what = 1;
handler.sendMessage(message);
}

};

handler传递message内容:
Handler handler = new Handler(){

public void handleMessage(Message msg) {
switch (msg.what) {
case 1:
// 执行定时器时间到了之后由handler传递的任务
break;
}
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

Ⅱ android开发中,android虚拟机作为服务器与pc客户端实现socket网络通信中,android虚拟机的ip是多少

从exlipse启动的android虚拟机访问本机上的ip:10.0.2.2

Ⅲ Android 之间能否通过 socket 进行通信.

第一个问题:这是可以的,android通过socket访问本机服务器PC, ip是10.0.2.2。
第二哥问题:用ServerSocket建立一个对象 ServerSocket serverSocket = new ServerSocket(serverListenPort, connectionMaxLength, InetAddress.getByName(serverIpString));
再加一个监听Socket incoming = serverSocket.accept();就可以检测客户端发过来的连接请求,之后使用流就可以完成他们之间的通信了。
原创手打,thanku

Ⅳ Android 与电脑的Socket通信为什么不能接收数据

按照你的描述,你首先调用Socket(adderss,port)生成了一个socket,然后你要调用connect连接服务端,connect返回成功后才能通信。不知道你有没有connect。

Ⅳ android服务端与电脑pc上c++的客户端 实现socket通信

1、android上的服务器分两种:
① 用 java 写的,这种比较简单,但是需要注意的它的代码已经被转换成了大端了,pc上用c++写传结构体;
② 用 c/c++ 写的,这种方式进行和pc上的通信比较的方便,客户端和服务器段可以都通过结构来传递,唯一需要考虑的是字节对其的问题,可以用两个预处理指令(可以跨平台的)处理;
2、源码的话,我虽然有但是属于公司的项目代码,不方便的;
我是ndk吧的吧主,希望大家关注一下ndk吧,有问题的话也可以到里面留言哦,ndk吧的链接:
http://tieba..com/f?kw=ndk 谢谢!

Ⅵ 手机作为客户端,电脑作为服务器进行android socket通信

1.PC服务器启用ServerSocket两个通信实体在建立虚拟链路之前,需要有一方先准备好,主动接受来自其他通信实体的连接请求。使用ServerSocket对象监听来自客户端的Socket连接。//创建ServerSocket对象ServerSocketss=newServerSocket(30000);//监听来自客户端的请求while(true){Sockets=ss.accept();…}如果没有连接,则将一直处于等待状态。当接收到连接请求后,获取消息到输入流,并保存到文件。//接收客户端消息BufferedReaderin=newBufferedReader(newInputStreamReader(client.getInputStream()));Stringstr;BufferedWriterbw=newBufferedWriter(newFileWriter("D:/ApInfo"+(i++)+".txt"));while((str=in.readLine())!=null){System.out.println(str);bw.write(str);bw.newLine();}2.Android终端使用Socket通信客户端使用Socket的构造器连接服务器,指定服务器IP和端口号就可以了。Sockets=newSocket(“192.168.1.100”,30000);这样服务器端的accept()方法就得到响应,从而向下执行,服务器端和客户端就形成了一对互相连接的Socket。再进行通信时就没有服务器和客户端之分了,都是通过输入输出流进行通信。详细步骤:采用Handler和TimerTask来定时扫描AP信息并发送给服务器端。TimerTask规定了到达指定的时间所要进行的任务。TimerTasktask=newTimerTask(){publicvoidrun(){Messagemessage=newMessage();message.what=1;handler.sendMessage(message);}};handler传递message内容:Handlerhandler=newHandler(){publicvoidhandleMessage(Messagemsg){switch(msg.what){case1://执行定时器时间到了之后由handler传递的任务break;}super.handleMessage(msg);}}接下来扫描AP信息并发送给服务器端,然后将结果保存。WifiManagerwifiManager=(WifiManager)getSystemService(WIFI_SERVICE);wifiManager.startScan();mWifiList=wifiManager.getScanResults();由WifiManager说明可知,它可以用于处理已配置的网络,当前连接的网络及AP信息的扫描等情况。向服务器发送消息:socket=newSocket("192.168.1.211",30000);//向服务器端发送消息PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(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

Ⅶ 通过socket通讯实现安卓虚拟机与pc之间点对点通讯!

完整代码倒是没有,虚拟机如果NAT的话做好端口映射,或者直接直接Bridged桥接进网络就行
之后用socket建立连接就可以了。
做过虚拟机跟PC的socket通讯,也做过PC跟安卓机的通讯。
这是一点建议,希望有帮到你!

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

有两种方案:
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){
//接收消息
}

Ⅸ android手机端程序与pc端c程序进行socket通信问题

这是说你的网络连接的相关的程序写在了主线程里面,在 android里面是不可以这样的因为主线程是ui线程这种耗时操作是不能写在主线程中,否则界面会出现卡顿,所以你应该把你的socket操作写在另外一个线程中 也就是 new thread(){ public void run()

{}}.start();
把你的socket操作写在run方法中

Ⅹ android软件开发中 实现手机与PC用socket通信,那手机发送给PC的若干数据,PC怎样才

自己定义一个‘协议’;
比如:
command[用户登录]
username=admin
password=456

当然这比较费神,可以采用xml或json做数据交换格式。
两边只需要序列化和反序列化即可,就像操作bean一样。
另外,也可以采用Serializable序列化,ObjectOutputStream 和 ObjectInputStream 将对象通过网络传输。

热点内容
ecshopsql漏洞 发布:2025-08-18 23:17:01 浏览:792
mac临时文件夹 发布:2025-08-18 23:14:55 浏览:760
阿里云搭建传奇服务器 发布:2025-08-18 23:14:06 浏览:447
硬件加密卡 发布:2025-08-18 23:08:17 浏览:982
农信交易密码指的是什么密码 发布:2025-08-18 23:03:20 浏览:580
数组存储空间 发布:2025-08-18 23:01:50 浏览:742
如解压游戏 发布:2025-08-18 22:57:02 浏览:571
如何复制页游密码 发布:2025-08-18 22:49:13 浏览:381
搭建本地服务器静态op 发布:2025-08-18 22:48:03 浏览:489
sql落伍 发布:2025-08-18 22:47:22 浏览:217