最近在通信项目中跟我的小伙伴们做了一个通信小程序,使用socket通信,Android手机作为客户端,PC作为服务器。从而实现互联操作,基本程序界面如下:
服务器界面:
客户端界面:
客户端通过输入服务器端的IP和初始密码,连接上服务器。在这里有一个难点,一直没有很好的解决,那就是关于网络的问题,当用真机测试的时候,经常会因为网速的问题,导致登录失败,如果有大神有好的建议,希望能得到赐教。关于登录的代码如下:
//通过内部类创建监听器对象
OnClickListener listener = new OnClickListener(){
public void onClick(View v){
ip=edit_ip.getText().toString().trim();//得到输入的ip地址
pwd=edit_pwd.getText().toString().trim();//得到输入的密码
if((!ip.equals(""))){//ip不为空
Toast.makeText(getApplicationContext(),"ip地址:"+ip+"密码:"+pwd,3).show();//显示ip
ManageClient.CreateClient(ip,9090);//创建客户端
msg.SetType(MsgType.LOGIN);
msg.SetContent(pwd);
ManageMsg.SendMsg(ManageClient.ops, msg);//将登录消息发送给服务器
Toast.makeText(getApplicationContext(),"输出流:"+ManageClient.ops+"消息:"+msg.getContent(),3).show();//显示客户端发送对象
t.start();
}
}
};
Thread t = new Thread(new Runnable(){
public void run() {
msg=ManageMsg.ReadMsg(ManageClient.ips);//读取登录回应消息
if(msg.getType()==MsgType.LOGIN_SUCCESS){//如果登陆成功
//实现跳转,跳转到客户端主界面
Intent intent = new Intent();
intent.putExtra("msg", ""+msg.getContent());
intent.setClass(LoginActivity.this,ClientActivity.class);
startActivity(intent);
LoginActivity.this.finish();//关闭Login界面
}
}
});
通过线程来接收登陆回应的消息。
那么现在就说一下 实现的功能吧:
1.实现了定时关机/重启
2.实现播放PPT功能
关于这两个功能的具体实现我会上传代码
接下来还会继续改进,实现更多有用的功能,希望能得到很多好的建议。通过这个小项目,可以很好的理解通信协议,Socket编程,总之,确实有一定的收获。坚持做好做精它吧!
- 大小: 33.9 KB
- 大小: 22.1 KB
- 大小: 69 KB
- 大小: 19 KB
- 大小: 19 KB
- 大小: 20.3 KB
分享到:
相关推荐
首先,这个小程序的核心功能是允许手机控制电脑执行一系列操作,例如关机、重启,以及播放PPT等。这些功能的实现得益于Java的强大跨平台能力以及Android系统的广泛普及。通过在服务器端(Mario Server)和客户端...
"SuperMario-master.zip" 是一个包含了这个游戏素材、音效和可执行程序的压缩包文件,旨在为开发者或游戏爱好者提供资源,以便进行游戏开发、研究或者重温经典。 在该压缩包中,我们可以期待找到以下内容: 1. **...
资源分类:Python库 所属语言:Python 资源全名:mario-0.0.106-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
总的来说,"Super-Mario-enhanced-version.rar.rar_Super Mario_mario_mario dos"不仅代表了一个经典游戏的升级版,更是一个展示游戏开发技术、编程技巧和创新思维的实例。无论是对于游戏爱好者还是编程学习者,都有...
内容概要:mario-main-haiyong.zip是一个压缩文件,包含了与马里奥相关的资源。这些资源可能包括游戏、图片、音乐等与马里奥有关的内容。 适用人群:这个压缩文件适用于喜欢马里奥的粉丝和游戏玩家。无论是童年时期...
"Mario-master.zip"这个文件名暗示了我们即将探讨的是关于经典游戏《超级马里奥》的源代码或项目文件。在IT行业中,尤其是游戏开发领域,分析和研究这样的开源项目是提升技能、学习新知识的重要途径。这个压缩包可能...
《iOS游戏应用源代码解析——acastr7-iPhone-Mario-Game》 在移动设备上,游戏开发一直是热门领域,特别是在iOS平台。本资源“acastr7-iPhone-Mario-Game-bd5c6ea.zip”提供了一个iOS平台上的马里奥游戏应用的源...
资源分类:Python库 所属语言:Python 资源全名:mario-0.0.118-py3-none-any.whl 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
【标题】"IOS应用源码之Amnysia-Mario-4ff4f2f.zip"揭示了这是一份关于iOS应用开发的源代码,特别地,它涉及到一个名为"Amnysia-Mario"的项目。这个项目的版本号可能是4ff4f2f,这通常是一个Git仓库中的特定提交哈希...
《PyPI官网下载 | gym_super_mario_bros-3.0.4.tar.gz》 PyPI,全称为Python Package Index,是Python社区广泛使用的软件包仓库,为开发者提供了一个发布和分享自己Python项目的平台。在这里,你可以找到各种各样的...
"simple-mario-dodge-game-using-python" 这个标题表明这是一个使用Python编程语言实现的简单马里奥躲避游戏项目。这个项目可能是为了帮助初学者或爱好者了解如何利用Python进行游戏开发,尤其是使用Pygame库来创建...
这个压缩包文件“acastr7-iPhone-Mario-Game-bd5c6ea.zip”包含了一个iOS平台上的Mario游戏的实例开发源代码。这为我们提供了一个深入理解如何在iOS设备上构建类似经典游戏《马里奥》的移动应用的机会。通过分析这个...
cd game-mario-bros-libgdx/src 跑步 gradle desktop:run 输出 控制 怎么做的 首先,我必须下载应用设置 然后生成项目 之后,观看Brent Aureli Youtube课 所需工具 平铺的地图编辑器 Android Studio 超级...
《iOS游戏应用源代码——Amnysia-Mario-4ff4f2f》是一款基于iOS平台的游戏开发项目,其核心是使用Objective-C或Swift语言编写,可能结合了Cocos2d-x或Unity3D等游戏引擎。在这个项目中,开发者可以深入理解iOS游戏...
标题 "A-mario-game-that-is-not-a-mario-game" 提示我们这可能是一个与经典游戏《马里奥》相似但并非官方版本的游戏项目。描述 "马里奥游戏不是马里奥游戏" 暗示这可能是一个由独立开发者或者爱好者用非官方方式...