Android4.0 socket编程

Java Server端

packageserver;

importjava.io.*; 

importjava.net.*;

publicclass Server {

privateServerSocket ss;

privateSocket socket;

privateDataInputStream in; 

public  Server(){

newServerThread().start();

}

classServerThread extends Thread{

public voidrun() {

try {

ss=newServerSocket(2020);

System.out.println("服务器启动了");

while(true){

socket=ss.accept();

System.out.println("有客户端连接到服务器");

in=newDataInputStream(socket.getInputStream());

Stringmsg="";

if((msg=in.readUTF())!=null){

System.out.println(msg);

}

}

} catch(IOException e) {

e.printStackTrace();

}finally{

try {

in.close();

} catch(IOException e) {

e.printStackTrace();

}

}

}

}

publicstatic void main(String[] args) throws IOException {

newServer();

}

}

Android client端

packagecom.newclient;

//importjava.io.BufferedWriter;

importjava.io.DataOutputStream;

importjava.io.IOException;

//importjava.io.OutputStreamWriter;

//importjava.io.PrintWriter;

importjava.net.*;

importjava.net.UnknownHostException;

importandroid.os.Bundle;

importandroid.app.Activity;

importandroid.view.Menu;

importandroid.view.View;

importandroid.view.View.OnClickListener;

importandroid.widget.Button;

importandroid.widget.Toast;

publicclass MainActivity extends Activity {

privateButton buttonA = null;

privateButton buttonB = null;

privateButton buttonC = null;

privateButton buttonD = null;

privateButton buttonE = null;

privateButton buttonF = null;

Socketsocket = null;

DataOutputStreamout = null;

@Override

public voidonCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);

buttonA =(Button) findViewById(R.id.button1);

buttonA.setOnClickListener(listener);

buttonB =(Button) findViewById(R.id.button2);

buttonB.setOnClickListener(listener);

buttonC =(Button) findViewById(R.id.button3);

buttonC.setOnClickListener(listener);

buttonD =(Button) findViewById(R.id.button4);

buttonD.setOnClickListener(listener);

buttonE =(Button) findViewById(R.id.button5);

buttonE.setOnClickListener(listener);

buttonF =(Button) findViewById(R.id.button6);

buttonF.setOnClickListener(listener);

}

publicboolean onCreateOptionsMenu(Menu menu) {

// Inflatethe menu; this adds items to the action bar if it is present.

getMenuInflater().inflate(R.menu.main,menu);

returntrue;

}

privateOnClickListener listener = new OnClickListener() {

@Override

public voidonClick(View v) {

// TODOAuto-generated method stub

Button btn= (Button) v;

switch(btn.getId()) {

caseR.id.button1:

MyThreadmt1 = new MyThread("无痛");

mt1.start();

Toast.makeText(MainActivity.this,"无痛", Toast.LENGTH_LONG)

.show();

break;

caseR.id.button2:

MyThreadmt2 = new MyThread("轻度疼痛");

mt2.start();

Toast.makeText(MainActivity.this,"轻度疼痛", Toast.LENGTH_LONG)

.show();

break;

caseR.id.button3:

MyThreadmt3 = new MyThread("中度疼痛");

mt3.start();

Toast.makeText(MainActivity.this,"中度疼痛", Toast.LENGTH_LONG)

.show();

break;

caseR.id.button4:

MyThreadmt4 = new MyThread("重度疼痛");

mt4.start();

Toast.makeText(MainActivity.this,"重度疼痛", Toast.LENGTH_LONG)

.show();

break;

caseR.id.button5:

MyThreadmt5 = new MyThread("剧烈疼痛");

mt5.start();

Toast.makeText(MainActivity.this,"剧烈疼痛", Toast.LENGTH_LONG)

.show();

break;

caseR.id.button6:

MyThreadmt6 = new MyThread("无法忍受");

mt6.start();

Toast.makeText(MainActivity.this,"无法忍受", Toast.LENGTH_LONG)

.show();

break;

default:

break;

}

}

};

classMyThread extends Thread {

privateString str;

publicMyThread(String name) {

super();

this.str =name;

}

public voidrun() {

try {

System.out.println("socketbegin");

//创建socket对象,指定服务器端地址和端口号

 

socket =new Socket("192.168.1.209", 2020);

System.out.println("socketover");

// 获取Client 端的输出流

//PrintWriter out = new PrintWriter(new BufferedWriter(

// newOutputStreamWriter(socket.getOutputStream())), true);

// 填充信息

out = newDataOutputStream(socket.getOutputStream());

out.writeUTF(str);

out.flush();

// 关闭

out.close();

} catch(UnknownHostException e1) {

e1.printStackTrace();

} catch(IOException e1) {

e1.printStackTrace();

}

}

}

}


本人菜鸟,新手~刚刚接触Android!4.0的socket编程不能写到UI进程里,是了很久,总算解决了~~求大神给些修改,指导!!




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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值