Android3.2模拟器客户端怎么和pc服务端通过socket连接?

Android3.2模拟器客户端怎么和pc服务端通过socket连接??急:怎么整模拟器和pc都连不起来,不知道问题在那里?求解... Android3.2模拟器客户端怎么和pc服务端通过socket连接??急:怎么整模拟器和pc都连不起来,不知道问题在那里?求解 展开
 我来答
heiyeguyin
2011-08-12
知道答主
回答量:40
采纳率:0%
帮助的人:17.4万
展开全部
我最近也写了一个同样的程序,我可以给你发过去,你参考一下吧:有疑问加我QQ:457993185
我的程序对你有帮助的话,就把10分给我哦!

pc机服务器端:
package com.android.Server;

import java.io.*;
import java.net.*;
import java.util.Hashtable;

public class AndroidServer extends Thread
{
Socket socket;
AndroidServer(Socket socket)
{
this.socket = socket;
}
public void run()
{
try {
ObjectInputStream Ois = new ObjectInputStream(socket.getInputStream());
Hashtable<String,String> hash = (Hashtable<String,String>)Ois.readObject();
System.out.println(hash);

PrintStream pstream = new PrintStream(socket.getOutputStream());
for(int i = 0;i<5;i++)
{
pstream.println(i +" test_AndroidSocket!");
}
pstream.close();
socket.close();
} catch (IOException e) {
System.out.println(e);
e.printStackTrace();
} catch (ClassNotFoundException e) {
System.out.println(e);
e.printStackTrace();
}
}
public static void main(String args[]) throws Exception
{
ServerSocket server = new ServerSocket(4567);
System.out.println("Listening...");
while(true)
{
Socket sock = server.accept();
System.out.println("Connected");
new AndroidServer(sock).start();
}
}
}

android模拟器客户端:
package com.heiye.client;

import java.io.DataInputStream;
import java.io.ObjectOutputStream;
import java.net.Socket;
import java.util.Hashtable;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;

public class HeiyeClientActivity extends Activity {
/** Called when the activity is first created. */
TextView txt_tcp=null;
Button btn=null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt_tcp=(TextView)findViewById(R.id.txt_tcp);
btn=(Button)findViewById(R.id.btn);
btn.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v)
{
try{
Socket socket = new Socket("192.168.60.46",4567);
Hashtable<String, String> hash = new Hashtable<String,String>();
hash.put("姓", "西门");
hash.put("名字", "可可");
ObjectOutputStream oos = new ObjectOutputStream(socket.getOutputStream());
oos.writeObject(hash);

DataInputStream dis = new DataInputStream(socket.getInputStream());
String s = dis.readLine();
System.out.println(s);

socket.close();
}catch(Exception ex)
{
System.out.println(ex);
}
}
}
);
}
}

程序如上,但还要配置main.xml Strings.xml AndroidManifest.xml有什么不懂得来和我交流
小鸭默默
2011-08-10 · TA获得超过575个赞
知道小有建树答主
回答量:615
采纳率:0%
帮助的人:291万
展开全部
在模拟机上通过Socket搭建客户端,服务器端起一个线程来监听客户端的请求,由于这种连接通过HTTP协议,所以在客户端中需配置连接网络的权限
追问
加上权限了,还是不行,别的还需要做什么?是不是需要用wifi怎么设置啊?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式