700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android模拟器socket服务端 android 模拟器跟电脑服务器端用socket通讯

android模拟器socket服务端 android 模拟器跟电脑服务器端用socket通讯

时间:2021-10-30 07:27:36

相关推荐

android模拟器socket服务端 android 模拟器跟电脑服务器端用socket通讯

android 模拟器和电脑服务器端用socket通讯

之前一直会用sockets来实现emulator和PC进行通讯,卡了几天,最后请教其他人终于可以连接了。 错误原因是在IP和端口,IP要用本机IP(在CMD输入ipconfig,注意:每次开机本机IP都不同,ADSL是动态IP),端口用emulator的名称,5554或5556.java sever文件要另外建java工程运行,在android工程运行不了java(run application)

客户端代码:

Java代码

package com.yarin.android.Examples_08_04;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import .InetAddress;

import .Socket;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class Activity01 extends Activity

{

private final String DEBUG_TAG = "Activity01";

private TextView mTextView=null;

private EditText mEditText=null;

private Button mButton=null;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mButton = (Button)findViewById(R.id.Button01);

mTextView=(TextView)findViewById(R.id.TextView01);

mEditText=(EditText)findViewById(R.id.EditText01);

//登陆

mButton.setOnClickListener(new OnClickListener()

{

public void onClick(View v)

{

Socket socket = null;

String message = mEditText.getText().toString() + "\r\n";

try

{

//创建Socket

socket = new Socket("116.29.27.138",5554); //查看本机IP,每次开机都不同

//socket=new Socket("192.168.1.110",50000);

//向服务器发送消息

PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);

out.println(message);

//接收来自服务器的消息

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

String msg = br.readLine();

if ( msg != null )

{

mTextView.setText(msg);

}

else

{

mTextView.setText("数据错误!");

}

//关闭流

out.close();

br.close();

//关闭Socket

socket.close();

}

catch (Exception e)

{

// TODO: handle exception

Log.e(DEBUG_TAG, e.toString());

}

}

});

}

}

package com.yarin.android.Examples_08_04;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import .InetAddress;

import .Socket;

import android.app.Activity;

import android.os.Bundle;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.Button;

import android.widget.EditText;

import android.widget.TextView;

public class Activity01 extends Activity

{

private final String DEBUG_TAG = "Activity01";

private TextView mTextView=null;

private EditText mEditText=null;

private Button mButton=null;

/** Called when the activity is first created. */

@Override

public void onCreate(Bundle savedInstanceState)

{

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

mButton = (Button)findViewById(R.id.Button01);

mTextView=(TextView)findViewById(R.id.TextView01);

mEditText=(EditText)findViewById(R.id.EditText01);

//登陆

mButton.setOnClickListener(new OnClickListener()

{

public void onClick(View v)

{

Socket socket = null;

String message = mEditText.getText().toString() + "\r\n";

try

{

//创建Socket

socket = new Socket("116.29.27.138",5554); //查看本机IP,每次开机都不同

//socket=new Socket("192.168.1.110",50000);

//向服务器发送消息

PrintWriter out = new PrintWriter( new BufferedWriter( new OutputStreamWriter(socket.getOutputStream())),true);

out.println(message);

//接收来自服务器的消息

BufferedReader br = new BufferedReader(new InputStreamReader(socket.getInputStream()));

String msg = br.readLine();

if ( msg != null )

{

mTextView.setText(msg);

}

else

{

mTextView.setText("数据错误!");

}

//关闭流

out.close();

br.close();

//关闭Socket

socket.close();

}

catch (Exception e)

{

// TODO: handle exception

Log.e(DEBUG_TAG, e.toString());

}

}

});

}

}

服务器端代码:

Java代码

package com.yarin.android.Examples_08_04;

import java.io.BufferedReader;

import java.io.BufferedWriter;

import java.io.InputStreamReader;

import java.io.OutputStreamWriter;

import java.io.PrintWriter;

import .ServerSocket;

import .Socket;

public class Server implements Runnable

{

public void run()

{

try

{

//创建ServerSocket

ServerSocket serverSocket = new ServerSocket(5554);

while (true)

{

//接受客户端请求

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");

//关闭流

out.close();

in.close();

}

catch (Exception e)

{

System.out.println(e.getMessage());

e.printStackTrace();

}

finally

{

//关闭

client.close();

System.out.println("close");

}

}

}

catch (Exception e)

{

System.out.println(e.getMessage());

}

}

//main函数,开启服务器

public static void main(String a[])

{

Thread desktopServerThread = new Thread(new Server());

desktopServerThread.start();

}

}

注:博客涉及的源码请在千寻资源库: 下载获取,谢谢支持。

1 楼

peng051410

-10-27

真的很谢谢,我现在正在学习android,感谢分享。。。。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。