Android 客户端socket通讯
来源:互联网 发布:057188158198 淘宝打来 编辑:程序博客网 时间:2024/05/09 03:45
一个Socket通信的完成,需要客户端和服务器端的配合,这个配合就好比,两个人在电话中聊天,当甲拨出号码,乙在另一头接起电话时,他们直接就已经搭建了一个沟通的桥梁,对于客户端和服务器端是一样的。客户端通过Socket向指定ip地址的某端口发出数据通信请求,而服务器端此时也正在监听该端口的情况,也就是说,对于指定的ip地址和端口号我们完全可以认为是甲乙电话通讯时的电话号码。
Socket通信分为两种一个是UDP,一个是TCP,UDP的好处是:速度快,但是缺点是此协议只管发送数据,并不管对方是否接收到数据,而TCP每次发出数据后都要等待对方传回数据做以肯定,然后再发送下一部分数据。但是速度不如UDP快。
下面是我做的实例中的部分代码:
代码
public class SocketClient extends Activity {
/** Called when the activity is first created. */
TextView tv = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button tcpbtn = (Button) this.findViewById(R.string.Id1);
Button udpbtn = (Button) this.findViewById(R.string.Id2);
tv = (TextView) this.findViewById(R.string.text1);
//tcp通信过程
tcpbtn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
try {
Socket s = new Socket("192.168.0.115", 4567);//创建一个socket对象,绑定要通信的服务器端Ip和端口
OutputStream out = s.getOutputStream();//将要传递的数据进行字节数组处理,然后以输出流的形式发送出去
out.write(tv.getText().toString().getBytes());
out.flush();
} catch (UnknownHostException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
//udp通信过程
udpbtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
try {
DatagramSocket ds=new DatagramSocket(5678);
InetAddress serverAddr= InetAddress.getByName("192.168.0.115");//绑定要通信的服务器端IP
byte[] data=tv.getText().toString().getBytes();
DatagramPacket packet=new DatagramPacket(data,data.length,serverAddr,5678);
ds.send(packet);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
});
}
}
- Android 客户端socket通讯
- 【Android】Socket通讯示例(服务端/客户端)
- Android客户端,服务器,如何进行socket通讯的?
- Android开发笔记:Socket通讯之Tcp客户端
- socket通讯 客户端和服务端
- 【C#】 Socket通讯客户端程序
- Socket客户端和服务端通讯
- socket实现服务端客户端通讯
- Android基于客户端和服务器的Socket编程例子之Socket基础通讯--socket相关知识
- Android基于客户端和服务器的Socket编程例子之Socket基础通讯--socket模型使用
- android 客户端通讯
- Android+socket+通讯
- android socket 双向通讯
- android socket通讯
- Android Socket通讯
- android socket通讯过程?
- Android Socket通讯
- Android Socket通讯
- C# delegate event关系
- metasploit迁移进程
- POJ 2187 Beauty Contest [凸包,旋转卡壳]
- tizen开发(2)
- 三星SDK的API翻译
- Android 客户端socket通讯
- Android onSaveInstanceState和onRestoreInstanceState触发的时机
- java线程
- CP15寄存器
- CKEDITOR动态设置的上传路径
- jquery ajax 同步异步的执行
- 树形查询的优化
- css样式
- epoll使用