Java Tcp文件传输---转载】的更多相关文章

/** 客户端 1.服务端点 2.读取客户端已有的文件数据 3.通过socket输出流发给服务端 4.读取服务端反馈信息 5.关闭 **/ import java.io.*; import java.net.*; class  UploadClient { public static void main(String[] args) throws Exception { Socket s = new Socket("127.0.0.1",4434); FileInputStream f…
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开源,作者是英国的,开发时间5年多,框架很稳定. 项目地址:http://www.51aspx.com/code/MSDCArtMengFileUpload 咨询qq:286275658 文件下载的思路 演示程序下载地址:http://pan.baidu.com/s/1geVfmcr 点击左侧列表的代码: itemID = listBox2.Text…
艺萌TCP文件上传下载及自动更新系统介绍(TCP文件传输) 该系统基于开源的networkComms通讯框架,此通讯框架以前是收费的,目前已经免费并开元,作者是英国的,开发时间5年多,框架很稳定. 项目地址:http://www.51aspx.com/code/MSDCArtMengFileUpload 咨询qq:286275658 演示程序下载地址:http://pan.baidu.com/s/1geVfmcr 服务器端运行效果图: 服务器端配置文件: <?xml version="1.…
服务端 package TCP; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.InetSocketAddress; import java.net.ServerSocket; import java.net.Socket; public class TCP_File_Serv…
服务器端代码: import java.io.*; import java.net.*; /** * Created with IntelliJ IDEA. * User: HYY * Date: 13-10-30 * Time: 下午2:15 * To change this template use File | Settings | File Templates. */ public class Server { public static void main(String[] args)…
在windows下装了个linux虚拟机,两者之间传输文件挺麻烦的.写了个简单的文件传输程序,来方便自己数据传送. server 端: import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.File;import java.io.FileOutputStream;import java.io.InputStream;import java.io.InputStreamReader;import jav…
客户端: void qt_boost::pbSendFileClicked(){ QString filename = ui.leFileName->text(); QByteArray ba = filename.toLatin1(); char * pfilename = ba.data(); std::ifstream ifs(pfilename, ios::in|ios::binary|ios::ate); long size = ifs.tellg(); char *p = new c…
服务端实现流程大致如下: 创建监听listener,程序结束时关闭. 阻塞等待客户端连接,程序结束时关闭conn. 读取客户端发送文件名.保存fileName. 回发“ok”给客户端做应答 封装函数 RecvFile接收客户端发送的文件内容.传参fileName 和conn 按文件名Create文件,结束时Close 循环Read客户端发送的文件内容,当读到EOF说明文件读取完毕. 将读到的内容原封不动Write到创建的文件中 package main import ( "fmt" &…
感谢前辈们的解答:https://bbs.csdn.net/topics/280085530 问题描述: 服务端向客户端发送数据流,服务端发完了数据不关闭流. 我在客户端读流,我无法读到-1,所以无法判断流的末尾. 有没有人指点我下,如何才能判断出流的末尾?(服务端我无法控制,我只能控制客户端) 网络流中判断末尾的解决办法: 1.先发送一个指定长度的头,头中指明正文长度,然后以该长度读取正文 2.以规定的字符或格式结束 3.关闭流或者关闭连接(如Java中关闭流后read不到后会返回-1或者nu…
准备工作,实现文件上传需要那些工具呢? socket(传输).open()(打开文件).os(读取文件信息),当然还有辅助类sys和json,下面我们开始吧 import socket,sys import json,os #创建socket对象 server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) #获取本地主机名 host = socket.gethostname() #设置端口号 port = 9000 #绑定端口 server…
调用接收端 @ApiOperation(value = "文件请求展示方法") @RequestMapping(value = "/showFile", method = RequestMethod.GET) public void showFile(HttpServletRequest request, HttpServletResponse response) throws Exception { //获取接口url String url = "htt…
- ----转 读文件: BufferedReader 从字符输入流中读取文本,缓冲各个字符,从而提供字符.数组和行的高效读取. 可以指定缓冲区的大小,或者可使用默认的大小.大多数情况下,默认值就足够大了. 通常,Reader 所作的每个读取请求都会导致对基础字符或字节流进行相应的读取请求.因此,建议用 BufferedReader 包装所有其 read() 操作可能开销很高的 Reader(如 FileReader 和 InputStreamReader).例如, BufferedReader…
记录下之前所做的客户端向服务端发送文件的小项目,总结下学习到的一些方法与思路. 注:本文参考自<黑马程序员>视频. 首先明确需求,在同一局域网下的机器人A想给喜欢了很久的机器人B发送情书,但是机器人B事先并不知道小A的心思,那么作为月老(红娘)该如何帮助他们呢? 然后建立模型并拆分需求.这里两台主机使用网线直连,在物理层上确保建立了连接,接下来便是利用相应的协议将信息从电脑A传给电脑B.在这一步上,可以将此过程抽象为网络+I/O(Input.Output)的过程.如果能在一台电脑上实现文件之间…
目录[-] 一.TCP/IP协议 二.TCP与UDP 三.Socket是什么 四.Java中的Socket 五.基本的Client/Server程序 六.多客户端连接服务器 七.信息共享 八.文件传输 推荐阅读: 前言:在最近一个即将结束的项目中使用到了Socket编程,用于调用另一系统进行处理并返回数据.故把Socket的基础知识总结梳理一遍. 一.TCP/IP协议 既然是网络编程,涉及几个系统之间的交互,那么首先要考虑的是如何准确的定位到网络上的一台或几台主机,另一个是如何进行可靠高效的数据…
1.写了一个socket传输文件的程序,发现传输过去文件有问题.找了一下午终于似乎找到了原因,记录下来警示一下: 接受文件的一端,向本地写文件之前使用Thread.sleep(time)休息一下就解决了问题. 个人认为可能是传输过程中,接收端向磁盘写速度有点慢,被后面的覆盖导致错误. //---------------------------------------------------------------------------------------------------------…
1.写了一个socket传输文件的程序,发现传输过去文件有问题.找了一下午终于似乎找到了原因,记录下来警示一下: 接受文件的一端,向本地写文件之前使用Thread.sleep(time)休息一下就解决了问题. 个人认为可能是传输过程中,接收端向磁盘写速度有点慢,被后面的覆盖导致错误. //---------------------------------------------------------------------------------------------------------…
简介: 用于将文件通过TCP协议传输到另一台机器,两台机器需要通过网络互联. 实现: 使用Netty进行文件传输,服务端读取文件并将文件拆分为多个数据块发送,接收端接收数据块,并按顺序将数据写入文件. 工程结构: Maven配置: <dependencies> <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version&…
项目地址:https://github.com/b84955189/FileTransfer 由于巨懒的我不太喜欢使用U盘操作文件,特此开发一个简易的文件传输程序. 目前仅限局域网内传输,后期会尝试写下跨网传输. 本软件主要功能模块如下: (1) 文件收发模块 (2) 局域网同网段用户检测模块 (3) 用户配置模块 文件收发模块:任意文件类型传输,仅限单个文件传输,可打包传输. 局域网同网段用户检测模块:同网段用户广播,直接发送,无需目标IP,前提需要同一网段下,且没有限制广播发送. 用户配置模…
上学期集成程序设计的课堂作业,对于理解TCP/IP实现还是挺有帮助的. TCP/IP编程实现远程文件传输在LUNIX中一般都采用套接字(socket)系统调用. 采用客户/服务器模式,其程序编写步骤如下:  1.Socket系统调用  为了进行网络I/O,服务器和客户机两端的UNIX进程要做的第一件事是调用socket()系统调用,建立软插座,指明合适的通讯协议.格式为:  #include >sys/types.h> #include >sys/socket.h> int soc…
最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解.在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加快传输的速度.废话少说,先来看服务器端的程序. 1.服务器端 package sterning; import java.io.BufferedInputStream; import java.io.DataInputStream; import java.io.DataOutputStream;…
用java的NIO技术编写的 1. 支持聊天功能 2. 拖拽文件能够实现文件传输功能.也能够是目录 3. 启动时能够选择server端或client端启动 4. 本人原创.学习NIO和java的网络通信一定会不错 5. 下载下来能够直接导致eclipse.然后执行 代码下载路径例如以下: http://download.csdn.net/detail/tqtihihc/8266793 截图:…
http://www.blogjava.net/sterning/archive/2007/10/13/152508.html 最近需要进行网络传输大文件,于是对基于socket的文件传输作了一个初步的了解.在一位网友提供的程序基础上,俺进行了一些加工,采用了缓冲输入/输出流来包装输出流,再采用数据输入/输出输出流进行包装,加快传输的速度.废话少说,先来看服务器端的程序. 1.服务器端 package sterning;import java.io.BufferedInputStream;imp…
这是用scala实现的一个简单的文件传输程序. 服务端 package jpush import java.io.{DataInputStream, File, FileOutputStream} import java.net.ServerSocket import scala.collection.JavaConversions._ /** * Created by dingb on 2016/6/3. */ object Server extends App { def port = 88…
演示TCP的传输的客户端和服务端的互访 需求:客户端给服务端发送数据,服务端收到后,给客户端反馈信息. 客户端: 1.建立Socket服务,指定要连接方朵和端口 2.获取Socket流中的输出流,将数据写到该流中,通过网络发送给服务端. 3.获取socket流中的输入流,将服务端反映的数据获取到,找打印. 4.关闭客户端. 客户端: class TcpClient2{ public static void main(String[] args) throws Exception{ Socket…
---恢复内容开始--- 我们知道,在用户端和服务端之间存在一个数据传输的问题,例如下载个电影.上传个照片.发一条讯息.在这里我们 就说一下文件的传输. 1.文件编码 相信大家小时候玩过积木(没玩过也看过吧),看到一个积木房子,很漂亮,买下来了,那要怎么拿回家呢,当然是 先把积木房子打散,装到袋子里,拿回家后再拼起来.这就很像我们这里的文件编码,在文件传输时,要对内容进行 特定编码方式的编码,转化为字节进行传输,然后再通过相同的编码方式进行解码转化为原先的文件. 我们同样以代码的方式解释一下:…
TCP通信过程 下图是一次TCP通讯的时序图.TCP连接建立断开.包含大家熟知的三次握手和四次握手. 在这个例子中,首先客户端主动发起连接.发送请求,然后服务器端响应请求,然后客户端主动关闭连接.两条竖线表示通讯的两端,从上到下表示时间的先后顺序.注意,数据从一端传到网络的另一端也需要时间,所以图中的箭头都是斜的. 三次握手 建立连接 建立连接(三次握手)的过程: 客户端发送一个带SYN标志的TCP报文到服务器.这是上图中三次握手过程中的段1.客户端发出SYN位表示连接请求.序号是1000,这个…
一.TCP协议 粘包现象 和解决方案 黏包现象让我们基于tcp先制作一个远程执行命令的程序(命令ls -l ; lllllll ; pwd)执行远程命令的模块 需要用到模块subprocess subprocess通过子进程来执行外部指令,并通过input/output/error管道,获取子进程的执行的返回信息. import subprocess sub_obj = subprocess.Popen( 'ls', #系统指令 shell=True, #固定 stdout=subprocess…
TCP/IP编程实现远程文件传输在LUNIX中一般都采用套接字(socket)系统调用. 采用客户/服务器模式,其程序编写步骤如下:  1.Socket系统调用  为了进行网络I/O,服务器和客户机两端的UNIX进程要做的第一件事是调用socket()系统调用,建立软插座,指明合适的通讯协议.格式为:  #include >sys/types.h> #include >sys/socket.h> int socket(int family,int type,int protocol…
java客户端 package client; import java.io.DataOutputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.net.InetSocketAddress; import java.net.Socket; /** * 文件发送客户端主程序 * @author admin_Hzw * */ public clas…
开发的时候碰到这样的需求:需要在一个系统(客户端发送请求)中将文件传输至另外一个系统(服务端接收)中去的实现方式,可以批量传输文件,代码如下: 客户端请求: public String upLoadFilePost(String actionUrl, Map<String, File> files) throws IOException { String BOUNDARY = java.util.UUID.randomUUID().toString(); String PREFIX = &qu…