import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class serverTest {
private static ServerSocket server;
private static File fl = new File("D:\\movie.zip");
public static void main(String args[]){
init();
}
public static void init() {
Socket sc;
DataInputStream is;
OutputStream os;
try{
server = new ServerSocket(8000);
System.out.println(fl.getName());
while(true){
sc = server.accept();
os = sc.getOutputStream();
DataInputStream fis = new DataInputStream(new BufferedInputStream(new FileInputStream("d:\\movie.zip")));
DataOutputStream ds = new DataOutputStream(new BufferedOutputStream(os));
ds.writeUTF(fl.getName());
ds.flush();//刷新缓存区,输出里面的内容。
byte buf[] = new byte[1024];
while (true) {
int read = 0;
if (fis != null) {
read = fis.read(buf);
}
if (read == -1) {
break;
}
ds.write(buf, 0, read);
}
ds.flush();
ds.close();
fis.close();
sc.close();
}
}catch(Exception e){}
}
}
import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.net.Socket;
import java.net.UnknownHostException;
public class clientTest {
private static Socket sc;
private static InputStream is;
public static void main(String[] args) {
try {
sc = new Socket("localhost",8000);
is = sc.getInputStream();
DataInputStream filename = new DataInputStream(new BufferedInputStream(is));//使用dataoutstream包装输入流
String name = filename.readUTF();
System.out.println(name);
DataOutputStream fileOut = new DataOutputStream(new BufferedOutputStream(new BufferedOutputStream
(new FileOutputStream("e:\\"+name))));//使用dataoutstream包装输出流
//读取服务端输出流中的内容到程序
byte buffer[] = new byte[1024];
while (true) {
int read = 0;
if (filename != null) {
read = filename.read(buffer);
}
if (read == -1) {
break;
}
fileOut.write(buffer, 0, read);//写文件内容到目的地
}
fileOut.close();
sc.close();
is.close();
filename.close();
fileOut.close();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
分享到:
相关推荐
"VC++基于socket传输文件服务端代码"是一个项目,旨在帮助开发者了解如何构建一个能够接收客户端文件上传的服务端应用程序。 首先,让我们深入理解VC++和Socket的基础。VC++(Visual C++)是微软开发的一款集成开发...
- 如果需要在不安全的网络环境中传输文件,可以考虑使用SSL/TLS加密Socket,提供数据传输的安全性。 10. **示例代码** ```csharp // Server端简化示例 Socket serverSocket = new Socket(AddressFamily....
在这个"socket传输文件实例"中,我们将深入探讨如何利用Socket在不同计算机之间交换文件。Socket提供了低级别的、面向连接的、双向通信协议,是TCP/IP协议族的一部分。下面我们将详细讲解相关知识点。 一、Socket...
"vcSocketfile.rar_VC文件传输_socket传输文件_socket文件传输_vc 多线程_多线程传输"这个压缩包文件提供了使用VC++(Visual C++)实现的多线程Socket文件传输的示例代码。下面我们将详细探讨这个主题中的关键知识点...
发送端可以不停的发送新文件,接收端可以不停的接收新文件。 例如:发送端输入:e:\visio.rar,接收端会默认保存为 e:\new_visio.rar,支持多并发,具体实现如下; 接收端: 方法一: #-*- coding: UTF-8 -*- ...
### Socket传输文件示例知识点详解 #### 一、概述 在计算机网络中,Socket编程是一种常用的通信技术,用于实现不同主机间的进程间通信。本文档介绍了一个基于Windows平台的Socket文件传输程序,该程序实现了文件的...
Java Socket传输文件是一种基于TCP/IP协议的网络通信方式,它允许两台计算机通过网络进行双向通信,从而实现数据的交换。在这个场景中,我们利用Java的Socket API来实现在客户端(Client)和服务器端(Server)之间...
在本示例中,我们关注的是"VC++下socket传输文件的完整demo以及源码",这表明我们将探讨如何在Microsoft Visual C++环境下利用Socket API进行文件的传输。 首先,让我们了解Socket的基本概念。Socket是操作系统提供...
总结来说,这个项目通过C语言实现了基于TCP/IP的Socket文件传输,展示了网络通信的基本原理和C/S架构的工作流程,对于理解网络编程和文件传输具有很好的实践意义。在实际应用中,这样的技术可以被广泛应用于文件共享...
本篇文章将深入探讨“网口Socket传输文件”的核心概念,主要包括TCP和UDP两种主要的套接字类型。 首先,我们来看TCP(Transmission Control Protocol)套接字,也被称为流式套接字。TCP是一种面向连接的协议,确保...
在"Socket传输大文件"的场景中,我们通常会构建一个服务器端(SocketServer)来监听特定端口,等待客户端(SocketClient)连接。一旦客户端连接成功,双方就可以通过Socket进行数据的收发。在这个过程中,由于大文件...
要实现通过Socket传输文件,我们需要以下步骤: 1. **创建Socket**:调用`socket()`函数创建一个Socket描述符,指定协议族(AF_INET)和套接字类型(SOCK_STREAM,对应TCP)。 2. **地址解析**:使用`getaddrinfo...
- **安全考虑**:传输文件时,应考虑安全性,例如加密传输以防止数据泄露。 ### 总结 使用CSocket类进行文件传输是一种基本的网络编程技术,虽然简单易用,但可能不适合大文件或高并发的场景。在实际应用中,开发者...
在Linux环境下,C++实现基于Socket的文件传输是一项常见的任务,尤其在分布式系统、网络编程以及服务器开发中。Socket是网络通信的一种接口,它允许进程间通过网络进行数据交换。本篇文章将深入探讨如何利用C++在...
- **安全性**:如果是在不安全的网络环境中传输文件,应考虑使用SSL/TLS等加密机制保证数据的安全性。 - **文件分块**:对于大文件,可能需要分块传输,每次发送一小部分,以避免内存溢出。 在压缩包中的`Socket...
标题"“MFC socket 文件传输”"指出,这个项目或教程主要关注如何使用MFC库来构建一个文件传输应用,该应用利用Socket技术进行文件的发送和接收。这通常涉及以下知识点: 1. **MFC基础**:理解MFC框架的基本结构,...
总结来说,"c# Socket Tcp传输文件"涉及到的关键知识点有: 1. TCP协议的工作原理和特性。 2. C#中的`System.Net.Sockets.Socket`类及其使用方法。 3. 文件流读写和字节流处理。 4. 数据传输的缓冲区管理和批量操作...
C#socket 大文件传输 分段传输 C#DEMO