文档章节

Android Socket通信

断伤-续痛
 断伤-续痛
发布于 2014/05/04 19:58
字数 623
阅读 415
收藏 1

写这些程序不要太过于着急,你要知道你想干什么,有什么用,然后形成文档,知道流程,这样你就可以写了!

就好比如socket,功能很简单,就是电脑做server,手机端和电脑端都可以做client,然后创建一个群聊!

这个其实不难,首先你要知道server用一个serversocket来new一个对象,然后端口号不是1-1023就好了!我的是8080,;

然后就是socket对象获取serversocket。

群聊要用一个数组把客户端的数量和属性保存起来,这样发送消息才可以逐个发送!

新建个DataInputStream和DataOutputStream,把Input的数据拿出来,我用readUTF();相应的你发送数据也要用UTF的类型!

把取出来的数据再遍历整个数组,把你取出来的数据writeUTF(str),中途有走掉的要及时remove掉,不然以后会慢的!

这样你的服务器就完成了!

如果你要写数据库也行,你自己加个数据库写吧!

客户端更加简单

首先new一个socket对象,把服务器所在的IP,开放的端口号填上去,我的端口号是8080。

然后new一个DataInputStream和DataOutStream,用来存放服务器发送过来的数据,和传输数据去服务器!


这里需要提醒下,获取数据要写个线程去获取!这样你才可以及时获取到,写这个电脑端的client没问题,到了手机端的client的时候我用TextView来显示数据,然后setText()方法不行,会报错,并且它不能刷新,需要手动去刷新,我在这里坑了好久,最后只能写个线程去刷新,线程1秒刷新一次太慢,0秒刷新又太快,会死掉,只能用100MS,这样会不定期的死掉,起码比其他的要好啦!。

服务端你也要写个线程去获取数据,一旦有数据获取了,马上发出去,不用等!

最终就这样完成了,顺便提醒下,电脑端和手机端的IP一样的!说明什么?说明你的手机要用电脑发出来的WIFI这样你才可以使用!不然连接不了!

代码实现:http://download.csdn.net/detail/adroitly/7293053

© 著作权归作者所有

共有 人打赏支持
断伤-续痛
粉丝 0
博文 1
码字总数 623
作品 0
清远
程序员
私信 提问
android网络通信之socket教程实例汇总

一、socket基础 1、Socket通讯机制(详细),如何将socket通信的客户端与服务器 http://www.eoeandroid.com/thread-61727-1-1.html 2、Http和Socket区别 http://www.eoeandroid.com/thread-9...

程序袁_绪龙
2014/12/11
0
0
android的NDK和java进行本地socket通信

关于Android应用与Framework的socket通信,相信关心这个问题的朋友们已经看过《android使用socket使底层和framework通信》这篇文章,美中不足的是作者只贴出一些关键的代码片段而并没有放出源...

shouyong
2012/12/21
0
0
PC电脑和Android模拟器访问及模拟器之间tcp/udp通信

Android系统默认只能通过IP(10.0.2.2)单向访问PC电脑,而PC电脑不能通过IP来直接访问Android模拟器系统。要想实现PC电脑和Android模拟器系统以及Android模拟器之间相互通信必须借助端口重定...

小克898
2013/09/06
0
0
Android系统socket通信时需要进行平板电脑设置么?

目前我是在平板电脑上进行测试,想做一个最简单的socket通信。客户端在平板电脑上,android的。服务器端在PC上。代码如下。我尝试了用相似两个java程序进行pc与pc之间的socket通信是没有问题...

秋暮严冬
2012/06/20
661
5
android socket编程实例

android客户端通过socket与服务器进行通信可以分为以下几步: 应用程序与服务器通信可以采用两种模式:TCP可靠通信 和UDP不可靠通信。 (1)通过IP地址和端口实例化Socket,请求连接服务器:...

wangwenya
2013/08/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

hive load insert

本文主要是翻译Hive官网关于Load的解释,原文来源于:https://cwiki.apache.org/confluence/display/Hive/LanguageManual+DML#LanguageManualDML-Loadingfilesintotables 介绍 Hive Load语句......

hblt-j
15分钟前
0
1
spring cloud中微服务之间的调用以及eureka的自我保护机制

我自己搭建了一个客户端微服务: 所以现在有两个微服务,我们所实现的就是微服务1和微服务2之间的调用 注册中心就不用多说了,具体看一下两个微服务 在project-solr中的constroller中: @Res...

架构师springboot
18分钟前
0
0
从源码角度理解Java设计模式——装饰者模式

一、饰器者模式介绍 装饰者模式定义:在不改变原有对象的基础上附加功能,相比生成子类更灵活。 适用场景:动态的给一个对象添加或者撤销功能。 优点:可以不改变原有对象的情况下动态扩展功...

我叫刘半仙
23分钟前
0
0
Java中前台接收后台List数据并循环打印

在Java后端获取到了数据,然后我们需要传到前端页面展现出来。 方法有两种: 方法一: 后端: request.setAttribute("list",list); 前端: <%ArrayList list = (ArrayList) request.get...

小_橙_子
32分钟前
1
0
Java:字节流和字符流(输入流和输出流)

什么是流 如果想学习Java工程化、高性能及分布式、深入浅出。微服务、Spring,MyBatis,Netty源码分析的朋友可以加我的Java高级交流:854630135,群里有阿里大牛直播讲解技术,以及Java大型互...

编程SHA
32分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部