Android TCP socket通信

转载请注明出处:http://blog.csdn.net/vnanyesheshou/article/details/74896575

之前做过的一个局域网内TCP通信、聊天的demo(当然不是局域网也可以进行通信,刚试了一下可以的),周日整理了一下。该demo可以做客户端,也可以做服务端。两个手机都安装该应用,一个做客户端、一个做服务端,然后进行通信(连接在同一局域网,或服务器是外网ip,客户端可以上网)。
20180728修改:Android7.0以上socket发送数据失败,需要将发送的操作放到子线程中,最新demo以更新。

demo下载地址http://www.demodashi.com/demo/10567.html


1 简介

TCP(Transmission Control Protocol):传输控制协议,是一种面向连接的、可靠的、基于字节流的传输层通信协议。

在Internet协议族(Internet protocol suite)中,TCP层是位于IP层之上,应用层之下的中间层。不同主机的应用层之间经常需要可靠的、像管道一样的连接,但是IP层不提供这样的流机制,而是提供不可靠的包交换。

Socket 英文原义是“孔”或“插座”。通常称为”套接字”,用于描述IP地址和端口,是一个通信链的句柄,可以用来实现不同虚拟机或不同计算机之间的通信。在Internet上的主机一般运行了多个服务软件,同时提供几种服务。每种服务都打开一个Socket,并绑定到一个端口上,不同的端口对应于不同的服务(客户若是需要哪种服务,就讲插头连到相应的插座上),客户的“插头”也是一个socket。
Socket通信,需要服务端和客户端,两端都要实例化一个Socket。但服务器和客户端的Socket是不一样的。

  • 客户端:可以连接服务端、发送数据、接收数据、关闭连接等。
  • 服务端:可以实现绑定绑定端口,接收客户端的连接、接收数据,发送数据等。

Android在包java.net包下提供了ServerSocketSocket类,ServerSocket用于创建服务器的Socket。Socket用于实例化客户端的Socket。当连接成功,客户端和服务端都会产生一个Socket实例,通过此Socket进行通信。
先看下效果图:
这里写图片描述

  • 13
    点赞
  • 111
    收藏
    觉得还不错? 一键收藏
  • 31
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 31
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值