Android Socket通信
Android Socket通信
断伤-续痛 发表于4年前
Android Socket通信
  • 发表于 4年前
  • 阅读 413
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 基于TCP的socket编程,入门篇!Socket编程实现电脑做服务器,Client有电脑端和Android手机端的多客户端的通信!

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

就好比如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
×
断伤-续痛
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: