ClientTcpSend.java   client发送类



package com.yjf.test;

import java.io.DataOutputStream;

import java.io.File;

import java.io.FileInputStream;

import java.net.InetSocketAddress;

import java.net.Socket;



public class ClientTcpSend {

    

    public static String clientip = "127.0.0.1";

    public static int port = 33456;



    public static void main(String[] args) {

        int length = 0;

        byte[] sendBytes = null;

        Socket socket = null;

        DataOutputStream dos = null;

        FileInputStream fis = null;

        try {

            try {

                socket = new Socket();

                socket.connect(new InetSocketAddress(clientip, port),30 * 1000);

                dos = new DataOutputStream(socket.getOutputStream());

                File file = new File("F:\\aa.xml");

                fis = new FileInputStream(file);

                sendBytes = new byte[1024*4];

                while ((length = fis.read(sendBytes, 0, sendBytes.length)) > 0) {

                    dos.write(sendBytes, 0, length);

                    dos.flush();

                }

            } finally {

                if (dos != null)

                    dos.close();

                if (fis != null)

                    fis.close();

                if (socket != null)

                    socket.close();

            }

        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}





ServerTcpListener.java server监听类



package com.yjf.test;

import java.net.*;

import java.io.*;



public class ServerTcpListener implements Runnable {



    public static void main(String[] args) {



        try {

            final ServerSocket server = new ServerSocket(ClientTcpSend.port);

            Thread th = new Thread(new Runnable() {

                public void run() {

                    while (true) {

                        try {

                            System.out.println("開始监听...");

                            Socket socket = server.accept();

                            System.out.println("有链接");

                            receiveFile(socket);

                        } catch (Exception e) {

                        }

                    }

                }



            });



            th.run(); //启动线程执行

        } catch (Exception e) {

            e.printStackTrace();

        }

    }



    public void run() {

    }



    public static void receiveFile(Socket socket) {



        byte[] inputByte = null;

        int length = 0;

        DataInputStream dis = null;

        FileOutputStream fos = null;

        try {

            try {



                dis = new DataInputStream(socket.getInputStream());

                fos = new FileOutputStream(new File("E:\\aa.xml"));

                inputByte = new byte[1024*4];

                System.out.println("開始接收数据...");

                while ((length = dis.read(inputByte, 0, inputByte.length)) > 0) {

                    fos.write(inputByte, 0, length);

                    fos.flush();

                }

                System.out.println("完毕接收");

            } finally {

                if (fos != null)

                    fos.close();

                if (dis != null)

                    dis.close();

                if (socket != null)

                    socket.close();

            }

        } catch (Exception e) {



        }



    }

}



java socket通信-传输文件图片--传输图片java socket通信-传输文件图片--传输图片

java socket通信-传输文件图片--传输图片的更多相关文章

  1. Java Socket实战之七 使用Socket通信传输文件

    http://blog.csdn.net/kongxx/article/details/7319410 package com.googlecode.garbagecan.test.socket.ni ...

  2. java Socket通信使用BufferedReader和BufferedWriter的注意事项

    注意事项:readLine()要求有换行标识,write()要输出换行标识,要调用flush()刷新缓冲区. 以下是取自java socket通信中的一小段代码. BufferedReader rea ...

  3. Java Socket通信读取相关信息代码

    转自:http://developer.51cto.com/art/201003/190206.htm Java Socket通信读取有不少需要我们注意的知识点.当我们在使用的时候有很多的问题摆在我们 ...

  4. 解决java socket在传输汉字时出现截断导致乱码的问题

    解决java socket在传输汉字时出现截断导致乱码的问题 当使用socket进行TCP数据传输时,传输的字符串会编码成字节数组,当采用utf8编码时,数字与字母长度为1个字节,而汉字一般为3个字节 ...

  5. JAVA Socket通信 打造属于自己的网盘

    近一个月没敲JAVA代码了,最近老师布置了一个写JAVA网盘的作业,总共花了十几个小时,总算写完了,debug真的累,感觉自己还是菜了,没有那种有一个想法就能马上用代码实现的能力....不扯了,下面开 ...

  6. java socket之上传文件

    一.功能介绍 该功能主要实现,将客户端的:F:/work/socketSample/filetemp/client/test_client.txt上传到服务端F:/work/socketSample/ ...

  7. java socket之传输实体类对象

    一.TCP编程     TCP协议是面向连接的.可靠地.有序的,以字节流的方式发送数据.java实现TCP通信依靠2个类:客户端的Socket类和服务器端的ServerSocket类. 基于TCP通信 ...

  8. java Socket通信,客户端与服务端相互发消息

    1.通信过程 网络分为应用层,http.ssh.telnet就是属于这一类,建立在传输层的基础上.其实就是定义了各自的编码解码格式,分层如下: 2.Socket连接 上述通信都要先在传输层有建立连接的 ...

  9. 【Java】Java socket通信使用read,readline函数的阻塞问题

    Socket通信是Java网络编程中比较基础的部分,其原理其实就是源ip,源端口和目的ip,目的端口组成的套接字通信.其底层还设及到了TCP协议的通信. Java中的Socket通信可以通过客户端的S ...

随机推荐

  1. How to add elements to a List in Scala

    Scala List FAQ: How do I add elements to a Scala List? This is actually a trick question, because yo ...

  2. Python IDLE快捷键【转载合集】

    转载自:http://www.douban.com/note/212321426/ 编辑状态时:Ctrl + [ .Ctrl + ] 缩进代码Alt+3 Alt+4 注释.取消注释代码行Alt+5 A ...

  3. tipask 不能正常解析

    <? if(!defined('IN_TIPASK')) exit('Access Denied'); include template('header'); ?> 代码如上,经查询为ph ...

  4. Winform快速导出

    public static void ExportExcel(DataGridView DataGridView01){ Stream stream = null; StreamWriter writ ...

  5. kubernetes 阿里云安装(kubeadm方式)

    注意:不能修改hostnamecurl -sSL http://aliacs-k8s.oss-cn-hangzhou.aliyuncs.com/installer/kubemgr-1.6.1.sh & ...

  6. java——泛型1(转)

    一. 泛型概念的提出(为什么需要泛型)? 首先,我们看下下面这段简短的代码: 1 public class GenericTest { 2 3 public static void main(Stri ...

  7. [转]Python与设计模式

    一.创建类设计模式 前言 什么样的程序员是一个好的程序员?学会很多门编程语言,就是一个好的程序员了么?事实上,学会一门编程语言不是一件很难的事,而“学会”一门编程语言是非常难的一件事.前一个“会”强调 ...

  8. 自然语言交流系统 phxnet团队 创新实训 项目博客 (一)

    2D文字聊天界面大致预期实现文字输入.发送消息.接收消息.你可以通过点击按钮让机器人开启聊天模式或者学习模式.又或是进入3D语音聊天界面或者退出. 目背景 (1) 开发动机的形态 随着科技的进步与生活 ...

  9. javascript删除字符串最后一个字符

    搜到很多无用的答案,这对新手来讲是很耗费时间的事情,我把正确的方法贴出来,以便有的新手不再踩这个坑. JavaScript slice() 方法 定义和用法 slice() 方法可提取字符串的某个部分 ...

  10. e1086. if/else语句

    The if statement encloses some code which is executed only if a condition is true. The general synta ...