android 手机 与 python服务器_python服务器与android客户端socket通信实例
本文实例讲述了python服务器与android客户端socket通信的方法。分享给大家供大家参考。具体实现方法如下:
首先,服务器端使用python完成,下面为python代码:
#server.py
import socket
def getipaddrs(hostname):#只是为了显示IP,仅仅测试一下
result = socket.getaddrinfo(hostname, None, 0, socket.SOCK_STREAM)
return [x[4][0] for x in result]
host = ''#为空代表为本地host
hostname = socket.gethostname()
hostip = getipaddrs(hostname)
print('host ip', hostip)#应该显示为:127.0.1.1
port = 9999 # Arbitrary non-privileged port
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
s.listen(4)
while True:
conn, addr = s.accept()
print('Connected by', addr)
data = conn.recv(1024)
if not data: break
conn.sendall(data)#把接收到数据原封不动的发送回去
print('Received', repr(data))
conn.close()
下面是Android代码:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.util.Log;
public class TcpClient extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
runTcpClient();
finish();
}
private static final int TCP_SERVER_PORT = 9999;//should be same to the server port
private void runTcpClient() {
try {
Socket s = new Socket("**.**.intel.com", TCP_SERVER_PORT);//注意host改成你服务器的hostname或IP地址
BufferedReader in = new BufferedReader(new InputStreamReader(s.getInputStream()));
BufferedWriter out = new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
//send output msg
String outMsg = "TCP connecting to " + TCP_SERVER_PORT + System.getProperty("line.separator");
out.write(outMsg);//发送数据
out.flush();
Log.i("TcpClient", "sent: " + outMsg);
//accept server response
String inMsg = in.readLine() + System.getProperty("line.separator");//得到服务器返回的数据
Log.i("TcpClient", "received: " + inMsg);
//close connection
s.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
//replace runTcpClient() at onCreate with this method if you want to run tcp client as a service
private void runTcpClientAsService() {
Intent lIntent = new Intent(this.getApplicationContext(), TcpClientService.class);
this.startService(lIntent);
}
}
安卓代码中要注意的就是服务器的地址要写对,而且要保证服务器是可以被你的网段访问的。
希望本文所述对大家的Python程序设计有所帮助。
android 手机 与 python服务器_python服务器与android客户端socket通信实例相关推荐
- python安卓开发实例_python服务器与android客户端socket通信实例
本文实例讲述了python服务器与android客户端socket通信的方法.分享给大家供大家参考.具体实现方法如下: 首先,服务器端使用python完成,下面为python代码: #server.p ...
- android安装Mysql服务,android手机可以作为mysql的服务器
资源连接:https://download.csdn.net/download/vlong5461/10413650点击打开链接 1.解压到android手机的目录,如data/data/mysql ...
- android socket通信如何抓取,安卓Socket通信实例(客户端、服务端)
安卓Socket通信实例 本文摘自:https://whatsblog.icu/index.php/Android/17.html 1.Socket通信必须知道的地方 1.首先,Socket通信采用T ...
- 废旧 Android 手机如何改造成 Linux 服务器?
作者 | zone7 责编 | 刘静 瞎比比 自从没有了学生身份之后,购买云服务器的价格是越来越贵了,不管是阿里云还是腾讯云.我寻思着能不能找到什么替代品,这让我想起之前在知乎不经意看到的,可以把 ...
- 酷!我把废旧的Android手机改造成了Linux服务器
程序员的成长之路 互联网/程序员/成长/职场 关注 阅读本文大概需要 2.8 分钟. 来源:zone7 作者:zone7 目录 瞎比比 什么都别说,先看看效果怎样? 需要什么材料.设备? root 手 ...
- 我把废旧Android手机如何改造成Linux服务器
目录 瞎比比 什么都别说,先看看效果怎样? 需要什么材料.设备? root 手机 为 Android 手机装上 Linux 系统 最后 瞎比比 自从没有了学生身份之后,购买云服务器的价格是越来越贵了, ...
- 废旧Android手机如何改造成Linux服务器
目录 瞎比比 什么都别说,先看看效果怎样? 需要什么材料.设备? root 手机 为 Android 手机装上 Linux 系统 最后 瞎比比 自从没有了学生身份之后,购买云服务器的价格是越来越贵了, ...
- 我把废旧 Android 手机改造成了 Linux 服务器
▋目录 瞎比比 什么都别说,先看看效果怎样? 需要什么材料.设备? root 手机 为 Android 手机装上 Linux 系统 最后 ▋瞎比比 自从没有了学生身份之后,购买云服务器的价格是越来越贵 ...
- 我把废旧 Android 手机改造成了 Linux 服务器,Android开发学习视频
需要什么材料.设备? 屏幕还能使用的 Android 手机 APP 软件:Linux deploy.busybox.juice ssh 如果你没有废旧的 Android 手机,但是也想折腾,怎么办?建 ...
最新文章
- R语言ggplot2可视化分面图(faceting)、在所有的分面中添加相同的参考基准曲线(overlay a base or reference plot to all facets )
- javascript prop和attr的区别
- CNN 与 LSTM 模型复杂度分析
- Sublime text 简单配置
- 你必须知道的session与cookie
- s 修饰符:dotAll 模式
- jquery 事件,注册 与重复事件处理
- 走在WCF学习的路上---印在脑子里的点点滴滴(两种元数据交换方式的优缺点)...
- 电商项目的app学习笔记(三)-嵌套路由组件的实现
- 用Python自动化爬取CNKI知网数据(批量下载PDF论文)
- html音乐播放器收起展开代码,JS模拟酷狗音乐播放器收缩折叠关闭效果代码
- 这些书你读过一多半,你就是编程大牛!
- 广州大学机器学习与数据挖掘实验一
- 服务器设置静态IP地址教程,在Ubuntu服务器18.04上设置静态IP地址
- win10找不到便签(便利贴)怎么办,Win10找回便签功能的方法
- 读《Ivor Horton's beginning Visual C++ 2010》有感
- 授人以渔系列----如何win10安装ffmpeg
- Python之signal模块详解
- 仿爱乐透android客户端界面实现(附工程源码)
- RTL8723BU wifi 及 热点移植和测试
热门文章
- linux中流设备_[快速上手Linux设备驱动]之块设备驱动流程详解一
- 部署 Job (第二部分)
- mysql中删除数据库中的表格数据恢复_恢复从数据库中删除的表
- linux删除具有指定内容的文件,Linux bash删除文件中含“指定内容”的行功能示例...
- 如何将dmp文件里的某张表导入oracle数据库
- Spring 依赖注入(一、注入方式)
- cocos2d-x 3.0 事件处理
- 【算法14】找出数组中两个只出现一次的数字
- LinQ学习之旅(1)
- 用C#实现MD5算法