问题:

利用Socket编程技术实现客户端向服务端上传一个图片的程序。

客户端:

import java.io.*;
import java.net.Socket;public class client
{public static byte[] getimg(String imgpath) throws IOException{FileInputStream img = new FileInputStream(imgpath); //读取图片的字节流ByteArrayOutputStream out = new ByteArrayOutputStream();byte[] res = new byte[1024];int num = 0;while ((num = img.read(res)) != -1){out.write(res, 0, num); //写入}return out.toByteArray();}public static void main(String[] args) throws IOException{Socket s = new Socket("127.0.0.1", 10000);OutputStream out = s.getOutputStream();byte[] a = getimg("E:\\1.jpg"); //得到图片的字节数组out.write(a); //写入s.close();out.close();}
}

服务端:

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;public class server
{public static void main(String[] args) throws IOException{ServerSocket now = new ServerSocket(10000);Socket s = now.accept();InputStream in = s.getInputStream();ByteArrayOutputStream out = new ByteArrayOutputStream();int tr;byte[] u = new byte[1024];while ((tr = in.read(u)) != -1){out.write(u, 0, tr); //写入out}FileOutputStream fileout = new FileOutputStream("E:\\2.jpg");fileout.write(out.toByteArray()); //写入图片文件out.close();}
}

实验结果:

                  

TCP:利用Socket编程技术实现客户端向服务端上传一个图片。相关推荐

  1. java上传音频到服务器_Java 客户端向服务端上传mp3文件数据的实例代码

    客户端: package cn.itcast.uploadpicture.demo; import java.io.BufferedInputStream; import java.io.FileIn ...

  2. 基于多线程的TCP局域网通信,客户端向服务端上传 文件简单实现源码

    客户端 import java.io.*; import java.net.Socket;/*** ### 作业3:* 完成文件上传案例学习* - 案例需求* 客户端:数据来自于本地文件,接收服务器反 ...

  3. QT中使用C++ socket通信(了解socket通信、socket的三次握手和四次挥手、socket函数说明、客户端与服务端的代码实例)

    一.TCP/IP协议四个抽象层: 二.socket位置 socket就在应用程序的传输层和应用层之间,传输层的底一层的服务提供给socket抽象层,socket抽象层再提供给应用层. 三.socket ...

  4. 封装利用libwebsockets写出的客户端、服务端程序为客户端服务端类

    封装利用libwebsockets写出的客户端.服务端程序为客户端服务端类 文章目录 封装利用libwebsockets写出的客户端.服务端程序为客户端服务端类 1.封装 2.封装后写wss客户端.服 ...

  5. 为什么 TCP 三次握手期间,客户端和服务端的初始化序列号要求不一样?

    大家好,我是小林. 为什么 TCP 三次握手期间,客户端和服务端的初始化序列号要求不一样的呢? 接下来,我一步一步给大家讲明白,我觉得应该有不少人会有类似的问题,所以今天在肝一篇! 正文 为什么 TC ...

  6. Web安全 文件上传漏洞的 测试和利用.(上传一个图片或文件 拿下服务器最高权限.)

    文件上传漏洞的概括 现在大多的网站和Web应用系统都会有上传功能(比如:文档,图片,头像,视频上传等.),而程序员在开发文件上传功能时,没有对代码做严格校验上传文件的后缀和文件类型. 此时攻击者就可以 ...

  7. socket编程:多路复用I/O服务端客户端之poll

    一. 关于poll 对于IO复用模型,其优点无疑是免去了对一个个IO事件就绪的等待,转而代之的是同时对多个IO数据的检测,当检测等待的事件中至少有一个就绪的时候,就会返回告诉用户进程"已经有 ...

  8. Socket编程,自己电脑做服务端和客户端

    相信直接编写简单的Socket客户端和Socketserver服务端很多人都会写,并且发现代码没什么错误,只是自己不知道运行出错原因在哪里.这里我就总的把我遇到的问题说一下,大神请过,像我一样的渣渣可 ...

  9. Socket测试工具(客户端、服务端)

    Socket是什么? SOCKET用于在两个基于TCP/IP协议的应用程序之间相互通信.最早出现在UNIX系统中,是UNIX系统主要的信息传递方式.在WINDOWS系统中,SOCKET称为WINSOC ...

最新文章

  1. centos mysql安装_mysql yum源安装
  2. 2020年这10大ML、NLP研究最具影响力:为什么?接下来如何发展?
  3. 在别人那看到的很不错的ext.net的基本讲解
  4. python布尔系列_python数据分析类库系列-Numpy之布尔型索引
  5. Java中 byte[]数组序列化和fastjson序列化区别
  6. 非接触物体尺寸形态测量_如何确定接触式和非接触式测量之间的测量技术
  7. python找到字符中空格所在的位置_Python 查找字符在字符串中的位置示例效果
  8. 《React Native跨平台移动应用开发》PDF电子书分享
  9. nosql----redis持久化详解
  10. Android系统(97)---开源项目分类整理
  11. mybatis中refid是什么意思
  12. 机器学习中分类和聚类的区别
  13. Vue项目(Ant Design of Vue)踩坑记之——表格header可伸缩
  14. 计算机应用大赛宣传语,计算机应用大赛宣传口号
  15. Ireport 子报表分页
  16. java excel 加密_Java 加密/解密Excel
  17. 计算机网络英语版答案,计算机网络试卷英语版
  18. 该网页无法正常运作xxxx将您重定向的次数过多
  19. 【LOJ3124】「CTS2019」氪金手游
  20. Leetcode-1598. 文件夹操作日志搜集器

热门文章

  1. 压缩解压工具gzip、pigz、gtz大比较
  2. 在vivado中GTP GTH GTZ使用GTGREFCLK时 Vivado_DRC: (REQP-52) 或Vivado_DRC: (REQP-49)错误解决办法
  3. HTML页面如何布局
  4. Tensor (张量) - 神经网络中的数据结构
  5. activiti适配人大金仓数据库修改方法
  6. html最快学会的方式,零基础HTML玩家的Bootstrap入门第一课(保证学会!)
  7. 视频教程-拼多多返利系统二-Java
  8. 不要在极端情绪下处理感情,好吗?
  9. 用python写跑酷游戏脚本,用Python写一个天天酷跑
  10. 34.发送ICMP时间戳请求