网络编程-TCP程序实例(上传文件)

package netTest;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.InetAddress;
import java.net.Socket;
import java.net.UnknownHostException;
// 发送数据的结束标记...  自定义结束标记,先告诉服务器自己的结束标记。
// 时间戳   socket 方法。。。
public class TextClient {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        Socket s = new Socket(InetAddress.getLocalHost(),7899);
        BufferedReader bufr = new BufferedReader(new FileReader("TcpClient.java"));
        PrintWriter out = new PrintWriter(s.getOutputStream(),true);
        long time = System.currentTimeMillis();
        
        out.println(time);
        String line = null;
        while((line = bufr.readLine())!=null){
            //System.out.println(line);
            out.println(line);
        }
        // 关闭客户端输出流
        s.shutdownOutput();  //关闭输出流,相当于加了一个结束标记-1
        //  自定义结束标记  out.println("over");
        BufferedReader bufIn  = new BufferedReader(new InputStreamReader(s.getInputStream()));
        String str = bufIn.readLine();
        System.out.println(str);
        bufr.close();
        s.close();
    }

}


package netTest;

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class TextServer {

    public static void main(String[] args) throws Exception {
        // TODO Auto-generated method stub
        ServerSocket ss = new ServerSocket(7899);
        Socket s = ss.accept();
        System.out.println(s.getInetAddress().getLocalHost()+"...........connected");
        
        BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
        PrintWriter out = new PrintWriter(new FileWriter("server.java"),true);
        String line = null;
        while((line = bufIn.readLine())!=null){
            //System.out.println(line);
            if("over".equals(line)){
                // 自定义结束标记。
                break;
            }
            out.println(line);
        }
        PrintWriter pw = new PrintWriter(s.getOutputStream(),true);
        pw.println("上传成功!!!");
        out.close();
        s.close();
        ss.close();
    }

}

 

转载于:https://www.cnblogs.com/yangyongqian/p/5143578.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值