黑马程序员技术交流社区
标题:
TCP文件复制问题
[打印本页]
作者:
咕咕猫
时间:
2013-10-14 09:26
标题:
TCP文件复制问题
本帖最后由 咕咕猫 于 2013-10-14 18:21 编辑
import java.io.*;
import java.net.*;
class TranClient//客户端
{
public static void main(String[]args)throws Exception
{
Socket s = new Socket("192.168.1.126",10007);
BufferedReader bufr = new BufferedReader(new FileReader("01.java"));//关联文件
PrintWriter out = new PrintWriter(s.getOutputStream(),true);//获取Socket输出流
String line = null;
while((line = bufr.readLine())!=null)
{
out.println(line);
}
bufr.close();
s.close();
}
}
class TransServer//服务端
{
public static void main(String[]args)throws Exception
{
ServerSocket ss = new ServerSocket(10007);
Socket s = ss.accept();
String ip = s.getInetAddress().getHostAddress();
System.out.println(ip);
BufferedReader bufIn = new BufferedReader(new InputStreamReader(s.getInputStream()));//获取客户端读取流
PrintWriter out = new PrintWriter(new FileWriter("1.java"),true);//定义接收数据的文件
String line = null;
while((line=bufIn.readLine())!=null)
{
out.println(line);
}
s.close();
ss.close();
}
}
复制代码
看老毕的视频,这样写应该会两边同时等待,加入结束标志后才能结束,为什么我这个没加也能结束,提醒下测试代码的时候把IP给成各位自己的IP啊
作者:
hyz123456
时间:
2013-10-14 16:05
因为你在执行完while循环之后就把流关了,流关了服务端也就关了,程序自然结束
毕老师的视频里服务器有一个返回的流 而你这里没有 所以没有造成等待
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2