当前位置: 移动技术网 > IT编程>开发语言>Java > 026.4 网络编程 上传文本

026.4 网络编程 上传文本

2018年10月14日  | 移动技术网IT编程  | 我要评论

聚荣堂,身份证姓名查询系统,大连人事考试网

一般是已经封装好的jar包里面,这里通过原始步骤实现一下这个功能

##############################################################################
客户端步骤:
1、确定连接地址和端口
2、读取文件
3、获取socket输出流
4、发送
5、向服务器发送结束标记,让服务器结束读取动作
6、接收返回信息
7、关闭资源

###uploadtextclient.java

public class uploadtextclient {
    /**
     * @param args
     * @throws ioexception 
     * @throws unknownhostexception 
     */
    public static void main(string[] args) throws unknownhostexception, ioexception {
        system.out.println("上传文件客户端运行......");
        // 客户端:
        // 步骤:
        // 1,创建socket,明确地址和端口。
        socket s = new socket("192.168.1.223", 10006);

        // 2,源:读取文本文件。获取需要转换的数据。
        bufferedreader bufr = new bufferedreader(new filereader("tempfile\\client.txt"));
        
        // 3,目的:网络,socket输出流。将录入的数据发送到服务端。
        printwriter out = new printwriter(s.getoutputstream(),true);
        
        // 4,频繁的读写操作。
        string line = null;
        while((line=bufr.readline())!=null){
            out.println(line);
        }
        
        //给服务端发送一个结束标记。这个标记是约定标记。有点麻烦。可以更简单。使用socket对象的shutdownoutput();
        s.shutdownoutput();//向服务端发送了结束标记。可以让服务端结束读取的动作。
        
        // 5,源:socket,socket读取流,读取服务端发回来的上传成功信息。
        bufferedreader bufin = new bufferedreader(new inputstreamreader(s.getinputstream()));
        string info = bufin.readline();
        system.out.println(info);
        
        // 6,关闭资源。
        bufr.close();
        s.close();
    }

}

 

###########################################################################################
服务端步骤:
1、建立服务端socket
2、接收客户端socket
3、建立文件对象
4、多次接收,写入
5、返回接收完毕信息
6、关闭资源

###uploadtextserver.java

public class uploadtextserver {
    /**
     * @param args
     * @throws ioexception 
     */
    public static void main(string[] args) throws ioexception {


        system.out.println("上传文本服务端运行....");
        // 服务端:
        // 思路:
        // 1,创建服务端socket 明确端口。
        serversocket ss = new serversocket(10006);
        while (true) {
            // 获取客户端对象。
            socket s = ss.accept();
            system.out.println(s.getinetaddress().gethostaddress()+".....connected");

            // 2,源:socket输入流。读取客户端的发过来的数据。
            bufferedreader bufin = new bufferedreader(new inputstreamreader(
                    s.getinputstream()));

            // 3,目的:文件。
            printwriter pw = new printwriter(new filewriter("tempfile\\server.txt"),true);

            // 4,频繁的读写操作。
            string line = null;
            while ((line = bufin.readline()) != null) {
//                if("over".equals(line)){
//                    break;
//                }
                pw.println(line);
            }
            
            // 5,发回给客户端上传成功字样。
            printwriter out = new printwriter(s.getoutputstream(),true);
            out.println("上传成功");
            
            // 6,关闭客户端。
            s.close();
        }
    }
}

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网