package com.hym.soket;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;
import org.apache.commons.io.FileUtils;
public class TestServer {
private static ServerSocket server;
private static String localPath = "D:\\data\\";
public static void main(String[] args) {
createServer();
}
private static void createServer() {
System.out.println("The server starting.....");
try {
server = new ServerSocket(9103);
while (true) {
Socket client = server.accept();
PrintWriter out = new PrintWriter(client.getOutputStream());
InputStream inputStream = client.getInputStream();
BufferedReader reader = new BufferedReader(
new InputStreamReader(inputStream));
String str = reader.readLine();
System.out.println(str);
String fileName = "nextUpdate_" + System.currentTimeMillis()
+ ".xml";
FileUtils.copyInputStreamToFile(inputStream, new File(localPath
+ fileName));
inputStream.close();
out.flush();
client.close();
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
- 客户端接收到数据后,写入到本地文件,直至接收完整个文件。 5. **异常处理**: - 文件传输过程中可能会出现网络中断、文件不存在、磁盘空间不足等问题,因此在编写代码时必须进行异常处理,确保程序的健壮性。...
- 客户端创建`FileOutputStream`,接收来自服务器的输入流数据,并将其写入本地文件,从而完成图片的接收。 5. **异常处理**: - 在Socket编程中,必须妥善处理各种网络异常,如`IOException`、`SocketException`...
它定义了创建、绑定、监听、接受连接和发送/接收数据等基本操作。在Windows系统中,通常使用Winsock库来实现Socket API。 2. **C/S架构**: 在C/S架构中,服务器负责监听客户端的连接请求,一旦有请求到来,就会...
客户端接收这些数据块并写入本地磁盘,同样可以使用校验和验证下载文件的完整性。 在实现过程中,进度条功能是提升用户体验的重要一环。客户端可以通过计算已发送或接收的数据量与总数据量的比例,实时更新进度条,...
- 在客户端,通过`Socket`的输入流接收数据,可以利用`BufferedOutputStream`和`FileOutputStream`组合将接收到的数据写入本地文件。 - 数据传输过程中,可能需要处理异常,如文件不存在、网络中断等。 4. **关闭...
5. **服务器端存储**:服务器端接收到每个数据块后,可以将其写入磁盘上的临时文件,待所有块接收完毕后再合并成原始文件。这种方式避免了在内存中存储整个大文件。 6. **安全性和性能优化**:为了提高安全性,可以...
在接收文件时,数据可能会被写入一个新的CFile对象中,最终保存到磁盘。 此外,程序可能还包含了错误处理和进度显示机制。例如,当发送或接收过程中出现错误时,程序可能会弹出对话框告知用户;为了提升用户体验,...
在文件传输过程中,多线程可以极大地提高效率,例如,一个线程负责接收文件,另一个线程负责写入磁盘,这样可以避免单线程操作时的阻塞,提高整体传输速度。在MFC中,我们可以使用CWinThread类来创建和管理线程。 ...
- **接收文件**:创建一个Socket对象用于与客户端通信,然后通过Socket的输入流读取客户端发送的文件数据。 2. **客户端**: - **建立连接**:使用Socket类的构造函数,传入服务器的IP地址和端口号,创建一个新的...
3. **建立Socket连接**:通过`accept()`方法接收客户端的连接请求,然后使用`DataInputStream`和`DataOutputStream`进行数据交换。 4. **发送文件信息**:服务器向客户端发送文件名(使用`writeUTF()`)和文件长度...
在这个案例中,由于涉及到文件传输,我们更可能使用的是可靠的TCP Socket,因为它提供面向连接的服务,确保数据的顺序传输和无丢失。 服务器端通常会先启动,监听特定的端口,等待客户端的连接请求。当客户端发起...
这个过程涉及了socket的创建、连接、监听、接收和发送,以及文件的读取和写入操作。理解并掌握这些知识点,是成为一名合格的网络程序员的基础。提供的源代码应该包含了这些功能的实现,通过学习和分析,读者可以更...
在Java或其他编程语言中,Socket通常作为类存在,提供了创建、连接、发送和接收数据的方法。 "基于Socket的点对点文件传输"意味着我们要创建两个Socket实例,一个作为服务器端(ServerSocket),另一个作为客户端...
接收到数据后,通过QDataStream从socket读取,反序列化数据,处理相应的业务逻辑。 项目提供的"Tcp_DataStream_2015_6_12"可能包含了源代码文件,展示了如何实现这个功能。为了编译和运行这个项目,你需要安装Qt...
客户端则需要接收服务端发送的数据,并将其写入本地磁盘。这里,我们需要用到Socket的InputStream。接收到数据后,根据接收到的目录信息创建相应的文件或目录。在处理过程中,我们需要注意异常处理,如网络中断、...
Java中的Socket编程是一种基础的网络通信机制,常用于实现客户端与服务器之间的数据交换。在这个示例中,我们探讨的是如何使用Java的Socket API进行文件的网络传输。文件传输通常涉及多个步骤,包括建立连接、数据...
4. 客户端开始发送文件内容,服务器接收并写入磁盘。 5. 完成传输后,客户端和服务器关闭socket连接。 文件下载则是相反的过程,服务器作为数据的源头,客户端作为接收方。服务器读取指定文件并将其内容通过socket...
接收的数据块通常会被写入到一个临时文件中,待所有数据接收完毕后再重命名为目标文件,以确保文件完整。 客户端则需要创建一个Socket,连接到服务端的IP地址和端口。它打开本地的文件,然后通过Socket的输出流将...
在处理文件上传时,服务器需要接收客户端发送的数据,将其写入磁盘;在下载文件时,服务器读取文件内容并发送给客户端。 在实现过程中,需要注意错误处理和资源释放,确保程序健壮性。例如,当网络中断或出现其他...
Socket文件传输是一种基于TCP/IP协议族的网络通信方式,用于在两台计算机之间高效地交换数据。在这个场景中,文件传输使用了ZIP压缩格式,提高了数据传输的效率和带宽利用率。以下是关于这个主题的详细解释: 首先...