文档章节

UDP编程,发送图片或文件

f
 flyqilong
发布于 2016/01/02 17:19
字数 209
阅读 14
收藏 0
客户端:
import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.InputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class SendPicture {
public static void main(String[] args) throws Exception {
         DatagramSocket socket=new DatagramSocket(8880);
         InetAddress ia=InetAddress.getLocalHost();//传给自己的ip
         //要发送给的服务器ip:InetAddress ia=InetAddress.getByName("192.168.10.62");
         DatagramPacket dp=null;
         InputStream is=new FileInputStream("e:\\aa\\DSC_7949.jpg");
         BufferedInputStream bs=new BufferedInputStream(is);
         byte[] a=new byte[1024];
         int len=-1;
         while((len=bs.read(a))!=-1){
         dp=new DatagramPacket(a, a.length,ia,8881);
         socket.send(dp);
         }
         is.close();
         socket.close();
}
}
服务端接收数据:
import java.io.BufferedOutputStream;
import java.io.FileOutputStream;
import java.io.OutputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class ReceverPicture {
public static void main(String[] args) throws Exception {
  DatagramSocket socket=new DatagramSocket(8881);
  byte[] b=new byte[1024];
  DatagramPacket dp=new DatagramPacket(b, b.length);
  OutputStream os=new FileOutputStream("e:\\DSC_7949.jpg");
  BufferedOutputStream bo=new BufferedOutputStream(os);
  int len=-1;
  while(b.length!=0){
 socket.receive(dp); 
 byte[] a=dp.getData();
 bo.write(a);
 bo.flush();
  }
  bo.close();
  os.close();
  socket.close();
}
}

© 著作权归作者所有

上一篇: TCP编程
下一篇: UDP编程
f
粉丝 3
博文 93
码字总数 53900
作品 0
Android工程师
私信 提问
柳大的Linux讲义·基础篇(4)网络编程基础

柳大的Linux游记·基础篇(4)网络编程基础 Author: 柳大·Poechant Blog: Blog.CSDN.net/Poechant Email:zhongchao.usytc#gmail.com (#->@) Date:March 11th, 2012 Copyright © 柳大·P......

晨曦之光
2012/04/24
82
0
java开发大全、系列文章、精品教程

全栈工程师开发手册 (作者:栾鹏) 快捷链接: 一个demo学会java java实现使用JDBC-ODBC桥操作数据库 java中RandomAccessFile随机文件读写,文件追加和部分读取 java使用socket实现一个多线...

luanpeng825485697
2017/10/01
0
0
读懂Java中的Socket编程

餐前甜点 Unix的输入输出(IO)系统遵循Open-Read-Write-Close这样的操作范本。当一个用户进程进行IO操作之前,它需要调用Open来指定并获取待操作文件或设备读取或写入的权限。一旦IO操作对象被...

lwwjing
2015/12/15
85
0
Python 网络编程 (全)

计算机网络 1.网络分层 ①(DoD模型):链路层(网络接口层),网络层(网际层),传输层,应用层 ②(OSI开放互联模型):物理层,数据链路层,网络层,传输层,会话层,表示层,应用层 2. OSI参考模...

代码打碟手
2018/08/18
0
0
Python网络编程(socket模块、缓冲区、http协议)

网络的概念:主机 端口 IP 协议 服务器: localhost/127.0.0.1 客户端: 只是在本机启动客户端,用127.0.0.1访问 服务器: 0.0.0.0 客户端: 可以在本机用127.0.0.1、192.168.0.1 服务器: 192....

ParisGabriel
2018/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

新手转行学java难吗?新手学java需要注意的6个方面!

新手转行在成都学java到底难不难,对于这个问题,我们专门做过一个调查,超过1000名已经在职的java从业者,其中有80%的程序员觉得学java不难,20%的程序员觉得前期有点难,其中对于50%自学的...

Java领航员
今天
3
0
动态规划-硬币问题分析

什么是动态规划 上次对动态规划已经有了个大概的分析。引用维基百科的话就是: dynamic programming is a method for solving a complex problem by breaking it down into a collection of...

AI考拉
今天
2
0
谈谈lucene的DocValues特性之SortedSetDocValuesField

SortedSetDocValuesField与SortedDocValuesField类似但它是一键多值的(注意:lucene的数据模型是支持一键多值的即key-values模型),lucene在实现时会判断是一键一值还是多值,如果单值就调...

FAT_mt
今天
1
0
生产者消费者模式

//尚学堂视频里,不是完整的 public class Movie { /** * 共同的资源 */ private String pic; //flay为true生产,false消费 private boolean flag=true; public synchronized void play(Str......

南桥北木
今天
1
0
使用阿里云镜像安装kubernetes

参考阿里云镜像 https://opsx.alibaba.com/mirror?lang=zh-CN 系统: CentOS / RHEL / Fedora cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https......

北漂的我
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部