我是靠谱客的博主 灵巧朋友,最近开发中收集的这篇文章主要介绍Android安卓客户端通过socket连接阿里云服务器(python),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在网上找了一些socket连接的博客,客户端和服务器端要么都是java,要么都是python,像我这么奇葩的好像没见着,所以写个博客记录一下自己踩过的坑。。。


客户端:


首先,需要给app访问网络的权限:
AndroidManifest.xml中添加

<uses-permission android:name="android.permission.INTERNET" />

然后就是老老实实的敲代码实现自己要的界面

我这里想要实现的是点击前进,后退,左转,右转按钮,服务器能分别收到对应的字符串 “upward”,“back”,“left”,“right”

这里就要给对应的按钮添加事件监听了:
但是切记不要直接调用socket,而是用线程去做:
在主线程中请求网络操作,会抛出 android.os.NetworkOnMainThreadException
这里参考了:
https://blog.csdn.net/llixiangjian/article/details/72910557 这篇博客,感谢大佬!!!

back_btn.setOnClickListener(new Button.OnClickListener(){
            public void onClick(View v)
            {
                new Thread(new Runnable() {
                    @Override
                    public void run() {
                        try {
                            msocket = new Socket(ip,port); # 这里的ip是公网ip
                        } catch (IOException e) {
                            e.printStackTrace();
                        }
                        try {
                            PrintWriter printWriter = new PrintWriter(msocket.getOutputStream(),true);
                            printWriter.println("back");
                            msocket.close();
                        }
                        catch (Exception e)
                        {
                            Log.d("connect error", "run: ");
                        }
                    }
                }).start();
            }
        });

再次强调,这里的ip是公网ip(血泪教训),阿里云服务器上的ip是内网ip
port 是端口号,和服务器中的要保持一致,当然我们还需要去打开端口
这里参考了:

https://blog.csdn.net/u014043213/article/details/80228495 这篇博客,感谢大佬!!!

服务器端:

在这里插入图片描述
这里还要写上:

host = xxx.xxx.xxx.xxx  # 你的阿里云服务器的内网ip
port = xxxx             # 你开的端口号,要和客户端保持一致!

阿里云服务器开放端口的博客很多,请自行搜索(这里很简单,偷个懒)
在这里插入图片描述
然后就是最振奋人心的运行结果了:
运行客户端和服务器端代码
分别点击四个按钮
然后:
在这里插入图片描述
完结撒花

最后

以上就是灵巧朋友为你收集整理的Android安卓客户端通过socket连接阿里云服务器(python)的全部内容,希望文章能够帮你解决Android安卓客户端通过socket连接阿里云服务器(python)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(63)

评论列表共有 0 条评论

立即
投稿
返回
顶部