Android4.0 socket编程
来源:互联网 发布:滴滴大数据研究中心 编辑:程序博客网 时间:2024/05/22 18:20
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进程里,是了很久,总算解决了~~求大神给些修改,指导!!
- Android4.0 socket编程
- Android4.0使用socket编程时要注意的问题
- Android4.0 Socket异常,需要另外开辟线程进行Socket编程
- Android学习笔记三十八:Android4.0 Socket异常,需要另外开辟线程进行Socket编程
- android4.0关于socket问题
- android4.0关于socket问题
- android4.0关于socket问题
- Android4.0网络编程易错点
- android4.0不能在UI的线程里做socket
- ActionScript3.0 Socket编程
- ActionScript3.0 Socket编程
- 0、初识Socket编程
- ActionScript3.0 Socket编程【转载】flash socket编程
- Flex ActionScript3.0 Socket编程
- Android4.0版本以上不能在主线程中访问socket的解决办法
- socket编程--socket基本概念
- socket编程--socket基本概念
- socket编程
- RT5350调试总结
- ASIHTTPRequest-使用代理连接
- Unity3D研究院之Assetbundle的原理(六十一)
- iOS7或以后将不能使用MAC地址生成设备的唯一标识
- Altium Designer 10 导出文件(PDF,gerber,BOM)
- Android4.0 socket编程
- 如何使用Dynamics CRM 2013服务模块03(服务和服务活动)
- 接口继承与实现继承
- ASIHTTPRequest-其他特性
- MeasureSpec介绍及使用详解
- 反编译
- 在外部类以外创建静态内部类的实例 简单实现
- [MySQL] 获取元数据的方法
- [置顶] 你为什么得不到晋升