日期:2014-05-20 浏览次数:20870 次
InputStream Is,is = null;
------解决方案--------------------
InputStream Is,is = null; 没有赋值
------解决方案--------------------
简单的写了一个程序,估计能完成要求。有一些细节方面没有做处理。
package houlei.test; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /** * 推荐使用两个线程来处理,本代码是单线程的程序。 * * 该类创建于 2009-6-12 上午02:11:49 * @version 1.0.0 * @author 侯磊 */ public class RecordIOInfo { public static final String Exit = "exit"; public static void main(String[] args) throws Exception{ Socket socket = new Socket("192.168.180.20",23); InputStream cIn = System.in; InputStream sIn = socket.getInputStream(); OutputStream sOut = socket.getOutputStream(); OutputStream fOut = new FileOutputStream("D:\\save.dat"); boolean running = true; try{ while(running){ if(cIn.available()>0){//将控制台的信息传输给Socket sOut.write(cIn.read()); } if(sIn.available()>0){//将Socket传过来的数据存储到文件当中 fOut.write(sIn.read()); } Thread.sleep(10); } }catch(IOException e){ e.printStackTrace(); }finally{ fOut.close(); socket.close(); } } }
------解决方案--------------------
哦。忘了每次write后要flush了。还有那个常量Exit在这里没有用。
------解决方案--------------------
共同学习了 up
------解决方案--------------------
1.你的需求不明确。缺少太多的信息。
2.如果只是想传文件,那用FTP会更直接一些,或者HTTP下载也可以。
3.如果即要服务端有执行客户端命令的功能,又要有传输文件(或数据)的功能,而且还不使用FTP,那必须要写个协议才行。
4.第3种情况,编程复杂度太大。你出300分,估计也没几个人帮你做。
5.我写的代码也只是抛砖引玉,仅供楼主参考。
------解决方案--------------------
比较汗~~~
你想实现MSN等的聊天记录功能,那也得有具体的聊天程序才行啊,没这样的聊天程序,怎么帮你实现日志的记录功能?
不会是要我给你编一个聊天程序吧?
C/S架构的聊天通讯程序,其实是一个比较复杂的程序。
其中涉及到大致4个过程,信息的显示,信息的编码组包,信息的传输,以及信息的拆包解码。
楼主想要实现聊天内容的记录功能,打算记录哪个过程的聊天信息?
其实,我也是比较郁闷滴。
------解决方案--------------------
楼主应该把问题说我更详细点
------解决方案--------------------
import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.net.Socket; /** * 推荐使用两个线程来处理,本代码是单线程的程序。 * <p/> * 该类创建于 2009-6-16 下午03:42:50 * * @version 1.0.0 * @author 9sky */ public class RecordIOInfo { private static String Host = "127.0.0.1";// 服务端IP private static int Port = 4567;// 服务端监听端口 private static String FileName = "D:\\save.dat"; public static void main(String[] args) throws Exception { Socket socket = new Socket(Host, Port); InputStream cIn = System.in; InputStream sIn = socket.getInputStream(); OutputStream sOut = socket.getOutputStream(); OutputStream fOut = new FileOutputStream(FileName); boolean running = true; try { while (running) { if (cIn.available() > 0) {// 将控制台的信息传输给Socket sOut.write(cIn.read()); sOut.flush(); } if (sIn.available() > 0) {// 将Socket传过来的数据存储到文件当中 fOut.write(sIn.read()); fOut.flush(); } Thread.sleep(10); } } catch (IOException e) { e.printStackTrace(); } finally { fOut.close(); socket.close(); } } }