天天看点

Android通过Socket与服务器进行通信

  总有些想尝试一些底层的人,之前做过socket开发,总是想能不能用socket实现手机和服务器直接通信。尝试了下,还是不难的。毕竟都是用Java写的,无论是Android端还是服务器端,都是对Socket的使用。下面给出具体代码。

 先看服务器端代码:

Server.java

  上面是普通的Java类,可以直接放到命令行里面编译然后执行(javac Server.java,然后java Server即可)。首先初始化一个ServerSocket,利用一个while循环,不断循环接收客户端请求。注意ServerSocket类的accept函数将会阻塞线程的运行,当没有客户端发来请求时,服务器将会停在accept方法处,直到有客户端发送请求。

  下面看看Android端代码:

  在Android端首先初始化一个Socket,然后获取该Socket的输出流,在调用out.println的时候框架会自动进行socket请求并发送数据。可以通过socket.getInputStream()获取Socket的输入流,从而可以接收服务器的输出。

继续阅读