java在socket通信方面上已经有了很好的范例,我只是抛砖引玉,将其引入到android之中,疏漏之处在所难免,很多地方也值得深思与考量,高手不必拍砖,可跳过此文。下面,用敲门的方式演示Android如何实现套接字的通信。
服务器程序
服务器程序需要在PC上运行,该程序比较的简单,因此不需要建立Android项目,直接定义一个JAVA类,并且运行该类即可。它仅仅建立ServerSocket监听,并使用Socket获取输入输出流
代码如下 | 复制代码 |
import java.io.IOException; import java.io.OutputStream; import java.net.ServerSocket; import java.net.Socket; public class SimpleServer { /** //创建一个ServerSocket,用于监听客户端socket的连接请求 }} |
客户端程序
代码如下 | 复制代码 |
package my.learn.tcp; import java.io.BufferedReader; import android.app.Activity; public class SimpleClient extends Activity { @Override try { Socket socket = new Socket("自己计算机的IP地址", 30000); show.setText("来自服务器的数据:"+line); br.close(); } catch (UnknownHostException e) { |
需要注意的是,在Manifest.xml文件当中,需要对互联网的访问进行授权。
代码如下 | 复制代码 |
<uses-permission android:name="android.permission.INTERNET"/> |