Android客户端与本地服务器Socket通信

Android客户端与本地服务器Socket通信

Socket服务器运行结果图:smile:

一.客户端和服务器端的选择:

  • 客户端是我们手机端,关于服务器端,只要安装了JDK,自然就拥有通讯的功能,我们只需要在Eclipse或者MyEclipse中写好文章中服务器端的代码,运行起来即可,用accept()方法启动服务器端,等待客户端的连接,在未连接的情况下,服务器端处于堵塞的状态。

二.客户端注意事项

  • andriod客户端添加网络访问权限
    <uses-permission android:name="android.permission.INTERNET" />

  • 对Socket的操作放在非UI线程内进行

  • 要使用正确的IP地址和端口号端口号的范围是0~65535,1024一下的端口被系统分给了一些服务,在cmd窗口执行netstat -ano命令可以看到所有端口的使用情况

  • 真机进行调试(1、连接上手机,手机开启adb。步骤:设置> 应用程序> 开发>选择USB调试;usb选项有些不可见,具体百度),指定Server的IP地址,此地址为局域网地址,如果是使用WIFI上网,则为PC机的WIFI IP。上图中连接的第二个就是示例

三.Socket通信

  • 利用ip地址+端口号唯一标示网络中的一个进程,能够唯一标示网络中的进程后,它们就可以利用socket进行通信。

  • socket是在应用层和传输层之间的一个抽象层,它把TCP/IP层复杂的操作抽象为几个简单的接口供应用层调用,实现进程在网络中通信。

  • socket是“打开—读/写—关闭”模式的实现(只能读取对方放在流中的数据),以使用TCP协议通讯的socket为例,其交互流程大概是这样子的

  • Socket有两种主要的操作方式:面向连接的和无连接的,即TCP和UDP。
      面向连接的Socket操作就像一部电话,Socket必须在发送数据之前与目的地的Socket取得连接,一旦连接建立了,Socket就可以使用一个流接口进行打开、读写以及关闭操作。并且,所有发送的数据在另一端都会以相同的顺序被接收。

  • 无连接的Socket操作就像一个邮件投递

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值