网络编程—06

 

import java.io.*;
import java.net.*;
class TextClient
{
 public static void main(String[] args)throws Exception
 {
  Socket s = new Socket("114.98.252.176",10006);
  
  //定义缓冲区,读取文件
  BufferedReader bufr = new BufferedReader(new FileReader("IPDemo.java"));
  
  //定义socket写入流,把信息写入服务器端
  PrintWriter out = new PrintWriter(s.getOutputStream(),true);
  
  //DataOutputStream dos = new DataOutputStream(s.getOutputStream());
  //long time = System.currentTimeMillis();
  
  //out.println(time);
  //out.println(time);//时间是唯一的,可以作为结束标记
  
  String line = null;
  
  while((line=bufr.readLine()) != null)
  {
   out.println(line);//把数据输出到服务器端 
  }
  //out.println("over");//自定义结束标记,不好,万一文件中over,就会提前结束
  //dos.writeLong(time);//输出时间标记
  
  s.shutdownOutput();//关闭客户端输出流,相当于在流中加一个结束标记,相当于-1
            //否则,无法收到服务器返回的信息
  
  //定义socket读取流,读取服务器返回的信息
  BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
  
  String str = bufIn.readLine();//获取服务器端的反馈信息
  System.out.println(str);
  
  bufr.close();
  s.close();
 }
}

class TextServer
{
 public static void main(String[] args)throws Exception
 {
  ServerSocket ss = new ServerSocket(10006);
  
  Socket s = ss.accept();
  
  String ip = s.getInetAddress().getHostAddress();//输出ip地址
  System.out.println(ip+"....connect");
  
  //DataInputStream dis = new DataInputStream(s.getInputStream());
  //long l = dis.readLong();//读取时间标记
  
  //定义socket输入流,读取客户端数据
  BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));
  
  //定义从客户端接收的数据输出地址
  PrintWriter out = new PrintWriter(new FileWriter("server.txt"),true);
  
  String line = null;
  
  while((line=bufIn.readLine()) != null)
  {
   //if("over".equals(line))//判断标记
   // break;
   out.println(line);//服务器根据定义的方法输出数据
  }
  
  //定义socket输出流,把数据反馈到客户端
  PrintWriter pw = new PrintWriter(s.getOutputStream(), true);
  pw.println("上传成功");
  
  out.close();
  s.close();
  ss.close();
 } 
}

------------------------------------------------------------------------------------------------------

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值