手机于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();
	}
	

}
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值