思路:
server端:
使用ServerSocket
ServerSocket serverSocket = new ServerSocket(指定的端口port);
Socket clientsocket= mServerSocket.accept();
(若需连接多个客户端,可以用个循环来接收客户的请求)
client端:
使用Socket
Socket socket = new Socket("服务端ip", 指定的端口port);
至此建立了客户端与服务端的连接,通过流来接收与发送数据
常见问题:
1、android主线程是不允许耗时操作的,即连接的过程不能放在主线程,需单独创建一个子线程;
2、更新UI的话,是不允许子线程更新的,可以通过Handler进行异步更新;
3、要想保持长连接,可在client端增加心跳包代码,定时向server端发送数据包,保持活性;
4、如果有多个android界面需要进行连接,可以考虑用Android四大组件之一service;
5、如要传送对象,可用json将对象转化为string类型进行传送。
PS:可以去看看apache mina、netty框架