java模拟TCP通信实现客户端上传文件到服务器端,供大家参考,具体内容如下

客户端

package com.zr;

import java.io.FileInputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.Socket;

import java.util.Scanner;

/*

客户端

*/

public class TCPClient {

public static void main(String[] args) throws IOException {

//创建客户端,ip地址:127.0.0.1,端口号:8888

Socket socket=new Socket("127.0.0.1",8888);

//创建客户端本地输入流,从客户本地获取要上传的文件

FileInputStream fis=new FileInputStream("timg.jpg");

//获取网络输出字节流,从而向服务器端发送数据

OutputStream os = socket.getOutputStream();

int len=0;

byte[] bytes=new byte[1024];

while ((len=fis.read(bytes))!=-1){

//向服务器端发送文件

os.write(bytes,0,len);

}

//关闭客户端输出流,中断上传

socket.shutdownOutput();

//获取网络字节输入流,从而获取服务器端传来的数据

InputStream is = socket.getInputStream();

while ((len=is.read(bytes))!=-1){

//输出从服务器端获取的数据:“上传成功”

System.out.println(new String(bytes,0,len));

}

//关闭客户端

socket.close();

}

}

服务器端

package com.zr;

import java.io.FileOutputStream;

import java.io.IOException;

import java.io.InputStream;

import java.io.OutputStream;

import java.net.ServerSocket;

import java.net.Socket;

/*

服务器端

*/

public class TCPServer {

public static void main(String[] args) throws IOException {

//创建服务器端,端口号:8888

ServerSocket serverSocket=new ServerSocket(8888);

while (true){

//获取客户端对象

Socket socket=serverSocket.accept();

//创建服务器端输出流,从而把从客户端获得的文件保存到服务器本地,并且重新命名

FileOutputStream fos=new FileOutputStream("upload"+System.currentTimeMillis()+".jpg");

//获取网络输出字节流,从而向客户端发送数据

InputStream inputStream = socket.getInputStream();

int len=0;

byte[] bytes=new byte[1024];

while ((len=inputStream.read(bytes))!=-1){

//保存从客户端收到的文件

fos.write(bytes,0,len);

}

//获取网络输出字节流,从而向客户端发送数据

OutputStream outputStream = socket.getOutputStream();

//向客户端发送信息:“上传成功”

outputStream.write("上传成功".getBytes());

//关闭客户端

socket.close();

}

}

}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

JAVA客户端数据传输_java模拟TCP通信实现客户端上传文件到服务器端相关推荐

  1. java 网页 录音_Java+FlashWavRecorder实现网页录音并上传

    [注意] [前言] 肯定有需求要网页录音,并且要上传.这奇葩需求. 然后找到了FlashWavRecorder, [原始版本号] 1.下载 在上面的地址下载zip解压之后,目录里面有个index.ht ...

  2. python post 上传文件_如何在 Python 中模拟 post 表单来上传文件

    展开全部 发个以前用urllib2模块来做的62616964757a686964616fe4b893e5b19e31333335343366class HTTPError(urllib2.HTTPDe ...

  3. java远程执行功能_Java远程连接Linux服务器并执行命令及上传文件功能

    Java远程连接Linux服务器并执行命令及上传文件功能 发布于 2020-3-6| 复制链接 摘记:  最近再开发中遇到需要将文件上传到Linux服务器上,至此整理代码笔记.此种连接方法中有考虑到并 ...

  4. TCP通信的客户端代码实现

    package com.learn.demo01.TCP;import java.io.IOException; import java.io.InputStream; import java.io. ...

  5. java 模拟post上传文件_JAVA模拟HTTP post请求上传文件

    在开发中,我们使用的比较多的HTTP请求方式基本上就是GET.POST.其中GET用于从服务器获取数据,POST主要用于向服务器提交一些表单数据,例如文件上传等.而我们在使用HTTP请求时中遇到的比较 ...

  6. java 客户端上传_java实现上传文件到服务器和客户端

    JAVA编写一个可以上传文件的服务器和客户端,具体内容如下 服务端 class Server { public static void main(String[] args) throws Excep ...

  7. java怎么上传文件到web服务器_Java客户端通过Http发送POST请求上传文件到web服务器...

    http://www.cnblogs.com/WilliamJiang/archive/2012/04/29/2475883.html 1.朋友的一个需求,让我给他实现,需求是这样的,需要用ASP.n ...

  8. java 模拟post上传文件_Java模拟post请求上传文件

    Java代码实现 /** * 模拟文件post上传 * @param urlStr(接口地址) * @param formName(接口file接收名) * @param fileName(需要上传文 ...

  9. java Socket Tcp示例三则(服务端处理数据、上传文件)

    示例一: package cn.itcast.net.p5.tcptest; import java.io.BufferedReader; import java.io.IOException; im ...

最新文章

  1. {转} Eclipse 高亮显示选中的相同变量
  2. html 中加号的表示方法,CSS的+(加号)选择器怎么用
  3. Ranger-AdminServer安装(开启Kerberos)
  4. c++ fstream类详解
  5. 又被ESLint 调戏了!!! ESLint:Newline required at end of file but not found. eslint(eol-last) [12, 22]
  6. 不来看看这些 VUE 的生命周期钩子函数? | 原力计划
  7. 教师空间中html是指什么,教师空间个性签名
  8. lopatkin俄大神精简中英俄系统Windows 10 Home 18362.145 19H1 Release x86-x64 RU-EN-CN NANO
  9. PLTS中计算Skew(计算延时差:对内/对间)
  10. JSTL核心标签超详细
  11. 如何解决BIOS自动更新,不断循环更新,无法进入系统
  12. 系统架构设计笔记(80)—— .NET
  13. android备份apk,无需手机助手,ABI帮你安装/备份安卓APK
  14. Win11C盘扩容详细教程
  15. highcharts.js:61 Error: text attribute y: Expected length, NaNNaN.错误的解决
  16. 猿创征文 第二季| #「笔耕不辍」--生命不息,写作不止#
  17. Mac自带ftp和Cyberduck使用
  18. 正弦和余弦(sin和cos)
  19. 第三方支付接口响应超时处理方法
  20. 基于NB-IoT城市智能井盖监控解决方案

热门文章

  1. 用火狐录制脚本为空_功能测试——链接测试amp;脚本功能
  2. python魔法方法str_8.9.魔法方法 - str()方法
  3. 里氏替换原则_代码需要有单一职责,还要开闭,里氏替换又是什么鬼?
  4. 工业级千兆以太网光纤收发器产品介绍
  5. [渝粤教育] 西安工业大学 园中画境 中国古典园林造园艺术 参考 资料
  6. 【渝粤教育】电大中专电子商务网站建设与维护 (27)作业 题库
  7. 【渝粤题库】广东开放大学 文化产业概论 形成性考核
  8. 【渝粤题库】陕西师范大学201721 数学教育学 作业(专升本)
  9. 框架如何调用存储过程_如何在FastReport.Net中使用存储过程
  10. 联邦学习 Federated Learning