android_Socket
来源:互联网 发布:辅助软件是什么意思 编辑:程序博客网 时间:2024/05/18 13:43
Socket定义
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。
基于TCP/IP协议的Socekt
使用Socket实现客户端的步骤;
1、通过IP地址和端口实例化Socket,请求连接服务器
2、获取Socket上的流以进行读写
3、把流包装进BufferReader/PrintWriter的实例
4、对Socket进行读写
5、关闭打开的流
创建服务器的步骤:
1、指定端口实例化一个ServerSocket
2、调用ServerSocket的accept()以在等待连接期间造成阻塞
3、获取位于该层Socket的流以进行读写操作
4、将数据封装成流
5、对Socket进行读写
6、关闭打开的流
try{
InetAddress ia = InetAddress.getByName("192.168.1.110");//IP地址
Socket sk = new Socket(inetAddress,8888,true);//端口
InputStream is =sk.getInputStream();//得到数据
OutputStream os = sk.getOutputStream();
.....//数据处理
}catch(Exception e){
}
创建一个服务器端的代码:
ServerSocket server = null;
try{
server = new ServerSocket(8888);
Socket socket = new server.accpet();//accpet()为一个阻塞函数
//服务器端在33221端口号监听客户请求,在这里服务器端只能接收一个请求,接收后服务器端就退出了。实际的应用中总是让他不停地循环接收,一旦有客户请求,服务器端总是会创建一个服务器线程来服务新来的客户,而自己则继续监听。
}catch(Exception e){
}
Socket 提供了getInputStream()和getOutPutStream()来得到对应的输入(输出)流以进行读(写)操作,这两个方法分别返回InputStream和OutputStream类对象。
基于UDP协议的Socket
InetAddress remoteIP = InetAddress.getByName("localhost");
DatagramSocket socket = new DatagramSocket();
BufferedReader wt = new BufferedReader (new InputStreamReader(System.in));
DatagramPacketoutputPacket=new DatagramPacket(outputData,outputData.length,remoteIP,8000);
socket.send(outputPacket);
客户端
DatagramSocket udpSocket = new DatagramSocket(8000);
DatagramPacket packet = new DatagramPacket(new byte[512],512); // UDP数据读取
udpSocket.receive(packet);
String msg = new String(packet.getData()), 0,packet.getLength());
- android_Socket
- android_socket
- android_Socket
- Android_Socket
- Android_Socket编程
- Android_Socket编程
- android_Socket网络编程实现手机图片上传到电脑
- jquery flot 在节点上显示提示
- 后认为他如何如何让和热天和人挺好
- android中AudioRecord使用
- HDOJ-2795-Billboard 解题报告
- C# 添加引用问题(转)
- android_Socket
- 学生3门课的总分,平均分,最大值,最小值
- poj 3352 Road Construction
- sphinx分布式索引简介
- C++新手——关于引用遍历
- IOS 各类证书截图步骤
- 关于Rijndael算法的加密
- 顺序栈和链栈的基本操作
- ftp 配置