----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------
UDP传输:
发送端:
DatagramSocket ds=newDatagramSocket(1988);//不指定用默认的时,会以第一个为基础往下顺延
byte[] b=”I’m coming!”.getByte();
DatagramPacket dp=newDatagramPacket(b,b.length,InetAddress.getByName(“192.168.1.255”),10000);
ds.send(dp);
ds.close();
接收端:要定义一个数据包接收发送过来的数据,因为这样可以用数据包的 方法对数据进行操作
DatagramSocket ds=newDatagramSocket(10000);//指定与发送端一致的端口号
byte[] b=new byte[1024];
DatagramPacket dp=new DatagramPacket(b,b.length);
ds.receive(dp);
//通过数据包的方法获得其中数据
String ip=dp.getAddress().getHostAddress();
//获取发送到的数组长度的数据,以字符串形式
String data=new String(dp.getData(),0,dp.getLength());
int port=dp.getPost();//获取发送端端口号
System.out.println(ip+”::”+data+”::”+port);
ds.close();
UDP传输中,发送端和接收端是两个程序,分别在两个main函数中
以键盘录入方式:
发送端 BufferedReader 结束语句
接收端 while循环 一直不关
TCP传输:
服务器端:建立后,请求成功,则服务器端会获得客户端对象(accept()- 阻塞式的)
用同一个流对象:
客户端 out——>in 服务器端(缓冲区)
in<——out
客户端:建立时就可以去连接服务器端,要使用OutputStream,向其中write 字节数据
以键盘录入方式:
服务器端 read() flush() readLine()
客户端 要关闭Socket,返回-1,客户端接收到,就关闭流
shutdownCutput();
用TCP传输文件:要先将文件名发个服务器端,服务器端会见一个同名文件,再将源文件的内容发过来,有服务器端写入到新建的文件里(若再发同名文件,会建一个带编号或日期的文件名)
----------- android培训、java培训、java学习型技术博客、期待与您交流! ------------