安卓使用socket实现客户端服务器通信问题

原创 2016年05月30日 22:49:48

这两天再做一个项目,其中一个功能是模拟在线聊天,所以接触了socket网络编程。由于楼主之前从没接触过socket,属于现学现卖,进度十分有限,而且遇到了不少问题。

步骤:

1.首先客户端建立一个socket,服务器建立ServerSocket,ServerSocket参数中给出该服务器监听的端口号(如10118),客户端socket需要两个参数,p1为要连接至的服务器ip地址,p2为端口号,注意这里客户端要使用的端口号必须与服务器监听的端口号一致。


2.socket建立完毕,双方各自建立输入输出流,使用的是BuffereReader和PrintWriter类。这里需要注意一下,两端接收和发送消息的顺序要不同,若服务器端将接收消息写在前发送消息写在后,则客户端要将发送消息写在前接收消息写在后,若双方建立流后都在等待对方消息便会被readLine方法(或有人使用readUTF方法,二者均是阻塞式方法)阻塞,程序若接收不到消息会停在阻塞式方法那里不会继续向下走,双方都在等待对方发送消息疏通readLine(readUTF)方法处,便形成互锁(和java线程中的那个互锁应该不是相同概念吧...),所以注意下顺序问题


3.通信完成后调close方法关闭输入输出流及socket,程序结束


之前我是卡在步骤2那个顺序问题上,导致双方只能连接上但不能互相接收发送消息,点击能够触发通信的按钮一直报错:did not receive expected priority boost on time

后来上网看了一下readLine方法受了点启发改了下顺序可以了。

不知道有人遇到过该问题没,反正我查了一下没查到。如有不对的地方请大家一定及时指出,我只是个初学者,需要大家纠正我的错误


Audio笔记之AudioTrackThread

{ // initialize the native AudioTrack object switch (memoryMode) { case MODE_STREAM:...

Audio笔记之FastMixer

// FastMixer线程,负责进行mix fast track,从MonoPipe中获取数据,经过mix运算,输出到AudioStreamOutSink中 bool FastMixer::th...

Android客户端,服务器,如何进行socket通讯的?

1Android客户端,服务器,如何进行socket通讯的? 1.1通过WiFi 如在本地机器建一个服务器端,然后手机接入局域网,然后在手机上安装Android客户端app,这样两者在一个局域网,可以...

Android作为客户端,PC作为服务端:实现网络通信

此项目实现网络通信,android手机客户端去请求PC服务端,将PC上mysql中的数据显示在手机上。    PC服务端用JavaWeb写了个servlet,android手机客户端请求这个serv...

Android作为客户端,PC作为服务端:实现网络通信

此项目实现网络通信,android手机客户端去请求PC服务端,将PC上mysql中的数据显示在手机上。    PC服务端用JavaWeb写了个servlet,android手机客户端请求这个serv...
  • pzhtpf
  • pzhtpf
  • 2012年06月15日 10:33
  • 33513

Android 使用socket 实现简单的客户端和服务器端互相通信

1、服务端:public class SocketServer { public static void main(String[] args) throws IOException { ...
  • lovoo
  • lovoo
  • 2016年06月26日 22:09
  • 4220

Android 的网络编程(15)-Http JSon服务器端和客户端通信

Android  Http JSon服务器端和客户端通信   服务器端: package com.web.servlet; import java.io.IOException; import j...

安卓手机socket通信(服务端和客户端)

socket通信

Android客户端与服务器通信方式浅谈

有二 其一   http通信 其二  Socket通信 hTTP通信:带参数的HTTp通信和不带参数的HTTP通信 带参数的HTTP通信: GET方式和POST方式 GET方式和POS...

Android-socket-client 客户端实现

————————————————————————————————————————————————————————————————————————————— 开发环境:eclipse  +4.0andr...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:安卓使用socket实现客户端服务器通信问题
举报原因:
原因补充:

(最多只允许输入30个字)