上传图片Tcp交互

package photodemo;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.net.Socket;
import java.net.UnknownHostException;

public class send {

	public static void main(String[] args) throws UnknownHostException, IOException {
		// TODO Auto-generated method stub
		Socket s = new Socket("192.168.2.143",10006);

		BufferedInputStream bfr = new BufferedInputStream(new FileInputStream("d:\\1.jpg"));
		BufferedOutputStream bout = new BufferedOutputStream(s.getOutputStream());
		int ch = 0;
		while((ch = bfr.read()) != -1)
		{
			bout.write(ch);
			bout.flush();
		}
		s.shutdownOutput();

		InputStream in = s.getInputStream();
		byte buf[] = new byte[1024];
		int len = in.read(buf);

		System.out.println(new String(buf,0,len));

		s.close();
		bout.close();
		in.close();
		bfr.close();

	}
}

package photodemo;

import java.io.BufferedInputStream;
import java.io.BufferedOutputStream;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {

	public static void main(String[] args) throws IOException {
		// TODO Auto-generated method stub
		ServerSocket ss = new ServerSocket(10006);

		Socket s = ss.accept();

		BufferedInputStream bin = new BufferedInputStream(s.getInputStream());

		BufferedOutputStream bw = new BufferedOutputStream(new FileOutputStream("d:\\1copy.jpg"));

		int ch = 0;
		while((ch = bin.read()) != -1)
		{
			bw.write(ch);
			//bw.flush();
		}

		OutputStream out = s.getOutputStream();
		out.write("上传成功".getBytes());

		ss.close();
		bin.close();
		s.close();
		bw.close();
		out.close();

	}

}

  

原文地址:https://www.cnblogs.com/WINDZLY/p/11964763.html

时间: 2024-11-06 09:25:16

上传图片Tcp交互的相关文章

TCP/IP之TCP交互数据流、成块数据流

建立在TCP协议上的网络协议有telnet,ssh,ftp,http等等.这些协议根据数据吞吐量来分成两大类: (1)交互数据类型,例如telnet,ssh,这种类型的协议在大多数情况下只是做小流量的数据交换,比如说按一下键盘,回显一些文字等等. 交互数据类型在通讯中比例为10%: (2)数据成块类型,例如ftp,这种类型的协议要求TCP能尽量的运载数据,把数据的吞吐量做到最大,并尽可能的提高效率.数据成块类型在通讯中比例为90%: 针对这两种情况,TCP给出了两种不同的策略来进行数据传输: 1

【网络协议】TCP交互数据流和数据流成块

前言 建立在TCP协议上的应用层协议有非常多,如FTP.HTTP.Telnet等,这些协议依据数据传输的多少能够分为两类:交互数据类型和成块数据类型. 交互数据类型,如:Telnet,这类协议一般仅仅做小流量的数据交换.比方每按下一个键,要回显一些字符. 成块数据类型.如:FTP,这类协议须要传输的数据比較多.一般传输的数据量比較大. 针对这两种不同的情况,TCP採用不同的策略进行数据传输. 交互数据流 针对交互性要求比較高的应用,比方Rlogin远程登录中,须要回显client输入的字符,每发

有趣的tcp交互小数据包-telnet(未完成)

TCP有趣的处理方式: 133 telnet 到 192.168.100.157 后,输入命令ls . 133和157对每个字母单独打包 原文地址:http://blog.51cto.com/jsahz/2062098

与安卓交互的上传图片 与 上传语音、视频

1.与安卓语音的交互 注意:获取语音的src 需要用DOM元素获取 (1)HTML (点击按钮告诉安卓,录音开始与结束) <span class="voice" onclick="voicecli()">上传语音</span> (2)JS //点击语音 function voicecli() { $('.addPicture').hide(); $('.expaddVoice').show(); //调方法 //判断调安卓方法显示或隐藏语音

TCP/IP详解学习笔记--TCP数据流

1.TCP的交互数据流 (1)基本概念 所谓交互数据流,其对TCP而言,就是他们所产生的大多数的TCP报文段中所包含的数据不超过10个字节,例如聊天等telnet的软件的TCP数据流就属于TCP交互数据流 (2)经受时延的确认 TCP收到数据时并不会马上发送数据,相反它会推迟数据的发送,以便让ack和该方向要发送的数据一起发送(搭个便车,不然ack就得自己自己组成一个数据段发送,这样有可能造成网络发生拥塞),但是如果此方向一直没数据发送,那么ack就得一直等下去?当然不会,系统会给其定一个最长等

【转】TCP/IP详解学习笔记(二)

TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 1.静态IP选路 1.1.一个简单的路由表 选路是IP层最重要的一个功能之一.前面的部分已经简单的讲过路由器是通过何种规则来根据IP数据包的IP地址来选择路由.这里就不重复了.首先来看看一个简单的系统路由表. Destination     Gateway         Genmask         Flags Metric Ref    Use Iface192.168.11.0    *               255.

TCP/IP详解学习笔记

TCP/IP详解学习笔记(1)-基本概念 TCP/IP详解学习笔记(2)-数据链路层 TCP/IP详解学习笔记(3)-IP协议,ARP协议,RARP协议 TCP/IP详解学习笔记(4)-ICMP协议,ping和Traceroute TCP/IP详解学习笔记(5)-IP选路,动态选路,和一些细节 TCP/IP详解学习笔记(6)-UDP协议 TCP/IP详解学习笔记(7)-广播和多播,IGMP协议 TCP/IP详解学习笔记(8)-DNS域名系统 TCP/IP详解学习笔记(9)-TCP协议概述 TCP

TCP/IP协议之三次握手、四次断开详解

TCP三次握手详细介绍 1.TCP/IP协议简单介绍: TCP/IP是一个协议族,通常分不同层次进行工作,每个层次负责不同的通信功能.包含以下四个层次: 应用层:(http.telnet.Email.dns等协议) 传输层:(tcp和udp) 网络层:(ip.icmp.rarp.bootp) 链路层:(设备驱动程序及接口卡) 1).链路层,也称作数据链路层或者网络接口层,通常包括操作系统中的设备驱动程序和计算机中对应的网络接口卡.它们一起处理与电缆(或其他任何传输媒介)的物理接口细节. 2).网

TCP协议详解(下)

 TCP协议详解 TCP状态转移 TCP连接的任意一端在任一时刻都处于某种状态,当前状态可以通过netstat命令查看,这里我们主要讨论TCP连接葱白建立到关闭的整个过程中通信两端状态的变化.如图是TCP状态转移过程. 图中,粗虚线表示典型的服务器连接的状态转移:粗实线显示典型的客户端连接的状态转移. TCP状态转移总图 服务器转移过程,这里我们说的连接状态指定是该连接的服务器状态. 服务器通过listen系统调用进入LISTEN状态,被动等待客户端连接,因此执行的是所谓的被动打开.服务器一