- 浏览: 120379 次
- 性别:
- 来自: 广西
文章分类
最新评论
-
greemqqran:
这方法 源码,是怎么的哦?
可变参数,数组与集合之间的转换 -
greemqqran:
Arrays.asList
可变参数,数组与集合之间的转换 -
ricoyu:
引用? super E:接收的是E类型对象应该是: ? sup ...
泛型-
/* 上传图片 */ import java.io.*; import java.net.*; class JpgClient { public static void main(String[] args) throws Exception { Socket s = new Socket("192.168.1.254",10005); if(args.length==0) { System.out.println("哥们,指定个文件,哦不?"); return; } File file = new File(args[0]); if(!(file.exists() && file.getName().endsWith(".jpg"))) { System.out.println("文件有问题"); return ; } FileInputStream fis = new FileInputStream(args[0]); OutputStream out = s.getOutputStream(); byte[] buf = new byte[1024*2]; int len = 0; while((len=fis.read(buf))!=-1) { out.write(buf,0,len); } s.shutdownOutput(); InputStream in = s.getInputStream(); byte[] bufIn = new byte[1024]; int lenIn = in.read(bufIn); System.out.println("server:"+new String(bufIn,0,lenIn)); fis.close(); s.close(); } } class JpgThread implements Runnable { private Socket s; JpgThread(Socket s) { this.s = s; } public void run() { FileOutputStream fos = null; try { int count = 0; String ip = s.getInetAddress().getHostAddress(); System.out.println(ip+"...connect"); File file = new File(ip+".jpg"); while(file.exists()) { file = new File(ip+"("+(count++)+").jpg"); } InputStream in = s.getInputStream(); fos = new FileOutputStream(file); byte[] buf = new byte[1024*2]; int len = 0; while((len=in.read(buf))!=-1) { fos.write(buf,0,len); } OutputStream out = s.getOutputStream(); out.write("上传成功".getBytes()); } catch (Exception e) { System.out.println(e.toString()+"..."); } finally { try { if(fos!=null) fos.close(); if(s!=null) s.close(); } catch (Exception ex) { System.out.println(ex.toString()+"......"); } } } } class JpgServer { public static void main(String[] args) throws Exception { ServerSocket ss = new ServerSocket(10005); while(true) { Socket s = ss.accept(); new Thread(new JpgThread(s)).start(); } } }
发表评论
-
动态代理+注解实现用户权限控制
2012-12-23 00:01 1363首先第一步我们需要定义一个接口UserDao p ... -
JDK动态代理模式
2012-12-22 21:51 900package cn.dhcool.dynamic.proxy ... -
代理proxy模式
2012-12-22 20:45 0静态代理模式: 需要有一个公共的借口,还有一个真实的实现类, ... -
工厂模式下出现的问题-null异常
2012-12-15 18:31 922遇到了一个问题: public class Dao ... -
内部类详解
2011-12-09 21:23 666从Java1.1开始引入了内部类以来,它就引起了人们的激烈争论 ... -
动态代理实现
2011-11-22 02:03 1048package com.dhcool.proxy; ... -
内省总结
2011-11-19 02:43 843package com.dhcool.introspec ... -
线程锁
2011-10-10 13:27 822sleep(), wait(),yield(),这3个方法,s ... -
类似百度谷歌分页算法实现
2011-09-08 15:58 1596<%@ page language="j ... -
充当服务端代码
2011-08-05 16:53 676import java.net.*; import java ... -
获取文件中邮件的示例
2011-08-05 12:25 737import java.util.regex.*; impo ... -
正则表达式常用字符
2011-08-05 12:22 920构造 匹配 字符 x 字符 x ... -
正则表达式
2011-08-05 12:16 847第一种:1.定义匹配规则如:String qqreg = &q ... -
InetAddress
2011-08-04 21:59 904import java.net.*; class Inet ... -
B/S socket
2011-08-04 21:08 1030import java.net.*; import java ... -
网络编程基础
2011-08-04 14:25 838网络编程: 网络通讯中所需要了解的一些内容。 T ... -
一道题
2011-08-02 21:05 614/* 有五个学生,每个学生有3门课的成绩,从键盘输入以上数据 ... -
TCP
2011-08-02 20:46 781import java.net.*; import ja ... -
UDP
2011-08-02 20:35 864import java.net.*; import java ... -
mypad小程序
2011-08-02 15:48 753package menupack; import jav ...
相关推荐
Linux系统下基于Tcp的多线程大文件上传实现.pdf 本文介绍了一种基于Tcp的多线程大文件上传实现方法,在Linux系统下实现大文件上传的解决方案。该方法通过将大文件分块,并使用多线程技术来实现文件传输,提高了文件...
总的来说,"c++实现tcp多线程文件传输及进度打印"项目涵盖了网络编程、多线程、文件操作等多个核心知识点,是一个很好的实践平台,可以帮助开发者深入理解这些技术,并提升其在实际问题中的应用能力。
本话题主要探讨了如何利用多线程技术实现TCP/IP协议在C++环境下进行文件上传,特别是结合MFC(Microsoft Foundation Classes)和Win32 API。下面我们将深入解析这个主题的相关知识点。 1. **TCP/IP协议**:传输控制...
在这个项目中,“基于MFC的TCP客服端和服务器多线程文件传输”实现了利用MFC进行TCP网络通信,并且支持多线程文件的上传和下载功能。 TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的...
在Java编程中,Socket...综上所述,这个Java Socket多线程文件上传下载实例涵盖了Socket通信、多线程处理以及文件操作等多个核心概念。通过实践这个实例,开发者可以深入理解网络编程和并发处理在实际应用中的运用。
在实现FTP多线程文件上传下载时,有几个关键知识点: 1. **FTP协议理解**:首先要熟悉FTP的基本操作,如登录(USER/PASS)、目录浏览(LIST)、文件上传(STOR)和文件下载(RETR)。FTP有两种工作模式:主动模式...
多线程FTP上传是指通过多个并发连接同时上传文件,以提高文件上传的速度和效率。这种技术尤其适用于大文件或大批量文件的传输,因为它可以充分利用网络带宽资源。 在实现FTP多线程上传时,我们需要考虑以下几个关键...
基于TCP-IP的多线程文件传输是实现高效文件共享的关键。多线程技术允许程序同时处理多个任务,提高系统资源利用率。在网络环境中,这意味着可以同时开启多个TCP连接,分别负责不同的文件传输任务,从而提高文件传送...
FTP多线程切割文件传输是IT领域中一种高效的数据传输技术,主要应用于大文件的上传和下载场景。在传统的FTP(文件传输协议)单线程传输中,如果文件较大,整个传输过程可能会消耗大量时间,影响用户体验。为了解决这...
在这个"网络编程多人聊天TCP多线程"项目中,开发者利用TCP协议和多线程技术创建了一个支持私聊、群聊、文件传输以及成员管理功能的聊天程序,主要涵盖了以下几个关键知识点: 1. **TCP协议**:TCP是一种面向连接的...
在本项目中,多线程用于提高文件上传和下载的效率。例如,服务器可以开启多个线程分别处理来自不同客户端的请求,客户端也可以通过多线程并行上传或下载文件的不同部分,大大缩短了整体的传输时间。 **3. 打印...
总的来说,C++实现TCP协议的文件传输涉及网络编程、文件操作等多个方面,需要对操作系统底层原理有一定了解,同时也需要熟练掌握C++语言。通过这样的实践,不仅可以提升编程能力,也能加深对网络通信的理解。
总的来说,实现基于TCP/IP的FTP文件传输程序是一个涉及网络协议、socket编程、多线程以及文件I/O等多个方面的综合性任务。这个过程可以帮助我们更好地理解网络通信的本质,并提升在Linux环境下开发网络应用程序的...
至于“core”这个文件,可能是服务器的核心代码或者库,包含实现TCP多线程服务器和FTP服务器功能的关键逻辑。具体实现细节可能包括线程池的使用、Selector的注册和轮询、FTP命令解析以及数据库操作接口等。 总的来...
本话题主要探讨如何在Linux操作系统环境下,使用C语言实现基于TCP/IP的文件上传与下载功能。以下将详细介绍相关知识点: 首先,我们需要理解TCP/IP协议族。TCP(传输控制协议)和IP(互联网协议)是最核心的两个...
在本文中,我们将深入探讨如何使用Microsoft Visual C++(简称VC)开发一个多线程的同步聊天及文件传输应用。这个项目结合了网络编程、多线程技术和文件操作,旨在实现客户端和服务端之间的实时通信和文件交换。 ...
这种方式提高了服务器的并发性,使得多个用户可以同时进行文件上传或下载,避免了单线程模型中因一个任务耗时过长导致的阻塞问题。 客户端方面,多线程同样发挥着重要作用。例如,在大文件下载时,可以将文件分割成...
《VC_Socket_多线程文件传输》是一个基于C++实现的项目,它演示了如何在Windows环境下使用Visual Studio 2005进行多线程的文件上传与下载功能。这个项目的核心技术主要包括Socket编程、多线程处理以及文件操作,这些...
本篇将深入探讨如何利用C#来实现HTTP协议下的多线程文件传输。 首先,理解HTTP协议是关键。HTTP(超文本传输协议)是互联网上应用最广泛的一种网络协议,用于从Web服务器传输超媒体信息到客户端。HTTP协议基于TCP/...