`
antkingwei
  • 浏览: 40733 次
  • 性别: Icon_minigender_1
  • 来自: 日照
社区版块
存档分类
最新评论

手机于PC服务器通信

阅读更多

手机客户端

package com.newsocket;

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.Socket;

import android.app.Activity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.*;
public class Activity01 extends Activity {
    private final String DEBUG_TAG = "Activity01";
    private TextView  mTextView = null;
    private EditText mEditText = null;
    private EditText mima = null;
    private Button mButton = null;
    private DataOutputStream toserver;
	private DataInputStream fromserver;	
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        mButton = (Button) this.findViewById(R.id.button1);
        mButton.setText("登录");
        mTextView = (TextView) this.findViewById(R.id.textView1);        
        mEditText = (EditText) this.findViewById(R.id.editText1);
        mima =(EditText) this.findViewById(R.id.editText2);
        mButton.setOnClickListener(new Button.OnClickListener(){			
			public void onClick(View v) {
		       Socket socket = null;
		       String ms = mEditText.getText().toString();
		       String message = mima.getText().toString()+"\r\n";
		       try{
		    		 socket = new Socket("192.168.1.100",54321);
		        	//接受服务器的数据流
		        	fromserver = new DataInputStream( socket.getInputStream());
		        	//要发送的数据流
		        	toserver=new DataOutputStream(socket.getOutputStream());
		        	toserver.writeBytes(message);
		        	toserver.flush();
		        	String msg = fromserver.readLine();
		    	   if(msg != null)
		    	   {   if(msg.equals(ms))
		    		   mTextView.setText("登录成功");
		    	   else
		    		   mTextView.setText("密码错误");
		    	   }else
		    	   {
		    		   mTextView.setText("数据错误");
		    		   
		    	   }
		    	   toserver.close();
		    	   fromserver.close();
		    	   socket.close();
		       }catch(Exception e){
		    	  mTextView.setText("没连接上");
		       }
				
			}
        	
        });
    }
}

 pc服务器端

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;


public class AndroidServer implements Runnable{

	@Override
	public void run() {
	   try{
		   ServerSocket serverSocket = new ServerSocket(54321);
		   while(true){
			   System.out.println("Android socket 等待接受客户的连接");
			   Socket client = serverSocket.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(str);
				   in.close();
				   out.close();
			   }catch(Exception e){
				   System.out.println(e.getMessage());
				   e.printStackTrace();
			   }
			   finally{
				   client.close();
				   System.out.println("Android socket close");
			   }
			   
		   }
	   }catch(Exception e){
		   System.out.println(e.getMessage());
	   }
		
	}
	public static void main(String[] srgs){
		Thread desktopServerThread = new Thread(new AndroidServer());
		desktopServerThread.start();
	}
	

}
 
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics