读书人

android中利用Socket实现手机客户端与

发布时间: 2013-10-27 15:21:50 作者: rapoo

android中利用Socket实现手机客户端与PC端进行通信

服务器端:


package com.colorful.socket;import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.IOException;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.net.Socket;import java.net.UnknownHostException;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class SocketClient extends Activity {TextView tv;EditText et;Button btn;    /** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.main);        init();    }    public void init(){    et=(EditText)findViewById(R.id.et);    btn=(Button)findViewById(R.id.btn);    tv=(TextView)findViewById(R.id.tv);        btn.setOnClickListener(new OnClickListener(){@Overridepublic void onClick(View v) {// TODO Auto-generated method stubString s=et.getText().toString();try {connectToServer(s);} catch (UnknownHostException e) {// TODO Auto-generated catch blocke.printStackTrace();} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}        });        }        public void connectToServer(String s) throws UnknownHostException, IOException{    Socket client=requestSocket("输入电脑的IP地址",9999);    sendMsg(client,s);    String str=receiveMsg(client);    tv.setText(str);    System.out.println(str);    }        public Socket requestSocket(String host,int port) throws UnknownHostException, IOException{    Socket s=new Socket(host,port);    return s;    }        public void sendMsg(Socket socket,String msg) throws IOException{    BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(socket.getOutputStream()));    writer.write((msg.replaceAll("\n", "")+"\n"));    writer.flush();    }        public String receiveMsg(Socket socket) throws IOException{    BufferedReader reader=new BufferedReader(new InputStreamReader(socket.getInputStream()));    String msg=reader.readLine();    return msg;    }    }




最后不要在AndroidManifest.xml中添加如下权限:


<uses-permission android:name="android.permission.INTERNET"/>

















读书人网 >Android

热点推荐