Android 通信 socket(一).doc
文本预览下载声明
Android 通信 socket(一)Android作为完全开源的手机平台,已经被非常多的开发者视作未来最有潜力的智能手机操作系统。而且短时间内已经有大量的第三方应用程序出现在Android Market供用户下载和使用,其中有一些程序增强了手机的应用功能,而另外一些会充分的发挥手机与其它电子设备的互动。今天将主要通过两个例子讲解如何实现Android与PC通讯。1. Android与PC通讯的第一个例子:PC: Java ServerAndroid:Java ClientJava Server 源代码:java代码:
Java代码
publicclassTCPDesktopServerimplementsRunnable{
publicstaticfinalStringSERVERIP=49;
publicstaticfinalintSERVERPORT=51706;
publicvoidrun(){
try{
System.out.println(S:Connecting...);
ServerSocketserverSocket=newServerSocket(SERVERPORT);
while(true){
Socketclient=serverSocket.accept();
System.out.println(S:Receiving...);
try{
BufferedReaderin=newBufferedReader(newInputStreamReader(client.getInputStream()));
Stringstr=in.readLine();
System.out.println(S:Received:+str+);
}catch(Exceptione){
System.out.println(S:Error);
e.printStackTrace();
}finally{
client.close();
System.out.println(S:Done.);
}
}
}catch(Exceptione){
System.out.println(S:Error);
e.printStackTrace();
}
}
publicstaticvoidmain(Stringa[]){
ThreaddesktopServerThread=newThread(newTCPDesktopServer());
desktopServerThread.start();
}
}
对上边的源代码做一些介绍:指定Server监听的端口和服务器IP地址。public static final String SERVERIP = 49;public static final int SERVERPORT = 51706;应用之前所指定的IP和Port创建一个ServerSocket对象。ServerSocket serverSocket = new ServerSocket(SERVERPORT);用于侦听和捕捉通过Socket连接的客户端。Socket client = serverSocket.accept();应用Socket创建BufferedReader对象,用于接收Socket Stream中的数据。BufferedReader in = new BufferedReader(new InputStreamReader(client.getInputStream()));java代码:Java代码
InetAddressserverAddr=InetAddress.getByName(49);//TCPServer.SERVERIP
Log.d(TCP,C:Connecting...);
Socketsocket=newSocket(serverAddr,51706);
Stringmessage=AndroidRes,WhereismyPig(Android)?;
try{
Log.d(TCP,C:Sending:+message+);
PrintWriterout=newPrintWriter(newBufferedWriter(newOutputStreamWriter(socket.getOutputStream())),true);
out.println(message);
}catch(Exceptione){
Log.e(TCP,S:Error,e);
}finally{
socket.close();
}
由麦可网整理,转载请注明出处
显示全部