Android下使用Socket连接网络电脑
既然是使用SOCKET连接网络上的电脑,就分为两部分
其一,Android上面的Client
其二,PC上的Server
Android上面的实现代码如下
package Hello.MySocket; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.Socket; import java.net.UnknownHostException; import android.app.Activity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class MySocket extends Activity { private final String DEBUG_TAG="lengfeng"; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); Log.v("lengfeng","Android Start Connect"); Socket socket=null; String mesg="my name is log /r/n"; try { socket=new Socket("10.0.2.2",54321); //向服务器发送信息 PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())),true); out.println(mesg); //接受服务器的信息 BufferedReader br=new BufferedReader(new InputStreamReader(socket.getInputStream())); String mstr=br.readLine(); if(mstr!=null) { Log.e(DEBUG_TAG,mesg); }else { Log.e(DEBUG_TAG,"数据错误"); } out.close(); br.close(); socket.close(); } catch (UnknownHostException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); }catch(Exception e) { Log.e(DEBUG_TAG,e.toString()); } } }
PC上面的Server 创建一个java的项目
import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.IOException; import java.io.InputStreamReader; import java.io.OutputStreamWriter; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; public class MyJavaServer { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub System.out.print("MyJavaServer Start Runing/n"); try { ServerSocket serverSocket=new ServerSocket(54321); while(true) { System.out.println("接收用户连接:"); //接受客户端请求 Socket client=serverSocket.accept(); System.out.println("accept:"); try { //接受客户端信息 BufferedReader in=new BufferedReader(new InputStreamReader(client.getInputStream())); String str=in.readLine(); System.out.println("read:"+str); //向服务器发送消息 PrintWriter out=new PrintWriter(new BufferedWriter(new OutputStreamWriter(client.getOutputStream())),true); out.println("Server Message:"+str); in.close(); out.close(); }catch(Exception ex) { System.out.println(ex.getMessage()); ex.printStackTrace(); } finally { client.close(); System.out.println("close"); } } } catch (IOException e) { System.out.println(e.getMessage()); } } }
更多相关文章
- 【Android(安卓)Training - 04】保存数据 [ Lesson 0 - 章节概览
- 编译android出错
- Android基于XMPP Smack Openfire开发IM【三】客户端接收服务器发
- Android(安卓)在非UI线程直接更新UI信息
- android实现异步下载过程
- Android(安卓)服务器连接工具类HttpUtil
- android 程序漰溃 后台handle处理类
- android获取屏幕相关信息
- android获取图片文件头信息