客户端部分代码:
client_getFile cgf = new client_getFile(ins,iv);
cgf.run();/*p("线程 getFile No.");//////////////////////////////////线程方法不可行
Thread tGetFile = new Thread(cgf);
tGetFile.start();*/client_getFile类是一个实现Runnable接口的类,如前两行调用可以与服务器端传递文件,但是只要用下面三行注释掉的代码,新建一个线程,那么服务端的
dos.writeUTF(fileName);
dos.flush();
就不是传递文件内容了,而是与客户端交互了,即BufferReader类截获。我知道都是因为这么多输入输出流实际上都是Socket的getInputStream与getOutputStream得到的,可是怎样才能分开呢,或者让客户端的线程起作用!
client_getFile cgf = new client_getFile(ins,iv);
cgf.run();/*p("线程 getFile No.");//////////////////////////////////线程方法不可行
Thread tGetFile = new Thread(cgf);
tGetFile.start();*/client_getFile类是一个实现Runnable接口的类,如前两行调用可以与服务器端传递文件,但是只要用下面三行注释掉的代码,新建一个线程,那么服务端的
dos.writeUTF(fileName);
dos.flush();
就不是传递文件内容了,而是与客户端交互了,即BufferReader类截获。我知道都是因为这么多输入输出流实际上都是Socket的getInputStream与getOutputStream得到的,可是怎样才能分开呢,或者让客户端的线程起作用!
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货