import java.io.BufferedReader;
import java.io.DataInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.ServerSocket;
import java.net.Socket;
public class DataServer2 {
public static final int SERVICE_PORT=1500;
public static final int DATA_SIZE=1024;
public static final String FILE_PATH = "C:\\MP4\\";
public static String FILE_NAME;
public static void main(String[] args) {
String filePath = FILE_PATH;
try{
ServerSocket server = new ServerSocket(SERVICE_PORT);
System.out.println("Service started");
for(;;){
Socket nextClient = server.accept();
System.out.println("Received request from " + nextClient.getInetAddress()+ ":"+ nextClient.getPort());
InputStream in = nextClient.getInputStream();
writeFile(filePath,in);
nextClient.close();
}
}catch(Exception e){
e.printStackTrace();
}
}
/**
* 將客戶端輸入流寫服務器端文件
* @param filePath 服務器端文件位置
* @param in 客戶端輸入流
* @throws Exception
*/
public static void writeFile(String filePath,InputStream in)throws Exception {
BufferedReader readerFile = new BufferedReader(
new InputStreamReader(in));
DataInputStream reader = new DataInputStream(in);
String filename=readerFile.readLine();
System.out.println("FileName:---------->>>>>>" + filename);
getFileName(filename);
File file=new File(filePath + FILE_NAME);
if(file.exists()){
file.delete();
System.out.println("Create new file");
}
FileOutputStream fos = new FileOutputStream(file);
byte[] bs = new byte[DATA_SIZE];
int length;
System.out.println("Data receiving started");
while( (length=reader.read(bs)) != -1){
fos.write(bs,0,length);
bs = new byte[DATA_SIZE];
Thread.sleep(200);
}
System.out.println("Receiving completed");
readerFile.close();
reader.close();
fos.close();
}
public static void getFileName(String filename)throws Exception {
FILE_NAME = filename == null?"":filename.substring(filename.lastIndexOf("\\") + 1,filename.length());
System.out.println("FILE_NAME= " + FILE_NAME);
}
}
分享到:
相关推荐
在客户端向服务器端上传文件的过程中,涉及到的主要技术包括前端交互、后端处理和文件传输协议。下面将分别从这三个方面详细讲解相关知识点。 首先,前端交互是用户与应用程序的接触点,这里通常会使用HTML、CSS和...
在Android客户端与Java服务器端的通信中,文件...总的来说,Android客户端向Java服务器端上传文件涉及到网络通信、文件处理、多线程以及服务器端的数据接收和存储。理解这些概念并正确实现它们是开发这类应用的关键。
总的来说,C# WinForm上传照片到服务器涉及客户端文件操作、HTTP请求和可能的服务器端API开发。使用HttpClient可以方便地实现文件上传,通过调整ContentDisposition可以修改上传时的照片名字。同时,注意对可能出现...
服务器端也应执行严格的验证和限制,例如禁止上传特定扩展名的文件,检查文件内容,以及限制单个文件或总的上传大小。 6. **modFileUpdate.bas和Form1.frm**:这两个文件可能是VB工程的一部分,`modFileUpdate.bas`...
在安卓应用开发中,将文件从客户端上传到服务器是一个常见的需求。本项目专注于使用OkHttp组件结合PHP服务器的Ajax处理来实现这一功能。下面将详细解释这个过程中的关键知识点。 首先,**安卓客户端**通常使用HTTP...
客户端将本地文件发送到服务器,而服务器端接收并保存这些文件。 首先,让我们从服务器端开始。服务器端需要监听特定的端口,等待客户端的连接请求。一旦有客户端连接,服务器就可以接收文件数据。以下是一个基本的...
总之,通过C#使用Web Service上传视频文件到服务器虚拟机涉及到创建Web服务接口、客户端调用服务、服务器端接收并保存文件以及IIS的部署配置。理解并掌握这一流程对于开发者来说是非常重要的,特别是当涉及到跨平台...
总结起来,这个任务涉及到VC客户端如何利用HTTP POST方法将文件上传到PHP服务器,以及服务器端如何接收并处理这些文件。在实际应用中,需要考虑安全性、错误处理和性能优化。理解这一过程对于开发涉及文件交互的Web...
服务器端负责监听指定端口,接受客户端连接,读取并响应客户端数据;客户端则通过`TcpClient`连接服务器,发送数据并接收回应。在实际应用中,这些基础组件可以构建出复杂的网络通信系统,如文件传输、在线游戏、...
总结来说,Android端文件上传涉及到文件选择、读取、网络请求、进度跟踪和错误处理,而服务器端则需要接收并处理这些请求,存储文件,并配合客户端实现断点续传。理解并实现这些步骤,将能确保文件上传功能的稳定性...
FTP服务器端通常由一个程序组成,该程序监听特定端口(默认为21)上的连接请求,处理客户端的登录、文件上传、下载等操作。在C#中,我们可以使用System.Net.FtpServer命名空间中的FtpServer类来创建FTP服务器。首先...
本示例着重讲解如何利用C#实现基于TCP协议的服务器和客户端通信,特别是在服务器端采用多线程技术处理来自多个客户端的数据。 首先,TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它...
"带参数的上传"指的是在上传文件的同时,还需要传递额外的信息(参数)给服务器,以便服务器能够正确处理请求。本教程将深入探讨如何在Android客户端实现带参数的文件上传,以及在服务器端如何接收并处理这些请求。 ...
在Android平台上将文件上传到.NET服务器是一项常见的任务,涉及到客户端(Android)与服务器端(.NET)的交互。本文将详细讲解如何实现这一过程,并提供相关的代码示例。 首先,客户端(Android)需要使用HTTP或者...
在Java编程中,上传文件到服务器是一项常见的任务,特别是在Web应用程序和云计算环境中。这个过程涉及到客户端(通常是用户设备上的Java程序)与服务器之间的数据传输,通常通过HTTP或HTTPS协议进行。下面将详细介绍...
这段代码中,`CURLOPT上传FILE` 和 `CURLOPT上传DATA_NAME` 分别用于指定上传的文件和文件字段名,这在处理Web表单上传时非常重要,因为服务器端通常需要知道哪个字段代表文件。 对于服务端,由于标签中提到的是...
标题 "GWT实现文件上传" 涉及到的技术核心是使用Google Web Toolkit(GWT)来处理客户端的文件上传功能。GWT是一款强大的开发工具,它允许开发者使用Java语言编写客户端的Web应用,然后自动编译成JavaScript,使得...
服务器端代码会解析`multipart/form-data`请求,从中提取文件内容,并将其保存到服务器的特定位置。具体实现因服务器架构而异,但基本流程包括: 1. 创建一个可写入的文件流,用于保存上传的文件。 2. 遍历请求的...
在客户端应用中,通常涉及到与服务器的数据交换,例如文件上传或下载、HTTP请求等。C#提供了多种异步网络通信API,如`System.Net.Sockets.TcpClient`和`System.Net.Http.HttpClient`。以下是一个使用`TcpClient`进行...
在C++中,进行HTTP文件上传到Web服务器时,可能会遇到中文参数乱码的问题。这是因为HTTP协议本身并不处理字符编码,而是依赖于上层的应用层协议(如HTTP头或者POST数据)来处理字符集。当涉及到非ASCII字符,如中文...