try {
inStream = hClientSocket.getInputStream(); outStream = hClientSocket.getOutputStream();
ps = new PrintStream(outStream);
} catch (Exception e) {
System.out.println("error:getInputStream or getOutputStream fail --");
System.out.println(e.toString());
} try {
System.out.println("now read the contents");
InputStreamReader isr = new InputStreamReader(inStream);
BufferedReader bf = new BufferedReader(isr);
String rcvBuffer = "";
String szTmp = null; while (iRunning == true) {
if ((szTmp = bf.readLine()) != null) {
//如果收到客户端消息,将iTimeCount重置为0;
iTimeCount = 0;
System.out.println(szTmp);如果是C++客户端的话,发的内容如果没有\n,\r的话,我这里的bf.readLine()就不会返回,但是java客户端发就可以
inStream = hClientSocket.getInputStream(); outStream = hClientSocket.getOutputStream();
ps = new PrintStream(outStream);
} catch (Exception e) {
System.out.println("error:getInputStream or getOutputStream fail --");
System.out.println(e.toString());
} try {
System.out.println("now read the contents");
InputStreamReader isr = new InputStreamReader(inStream);
BufferedReader bf = new BufferedReader(isr);
String rcvBuffer = "";
String szTmp = null; while (iRunning == true) {
if ((szTmp = bf.readLine()) != null) {
//如果收到客户端消息,将iTimeCount重置为0;
iTimeCount = 0;
System.out.println(szTmp);如果是C++客户端的话,发的内容如果没有\n,\r的话,我这里的bf.readLine()就不会返回,但是java客户端发就可以
楼主【sunhuacai】截止到2008-07-30 15:49:39的历史汇总数据(不包括此帖):
发帖的总数量:8 发帖的总分数:130 每贴平均分数:16
回帖的总数量:11 得分贴总数量:2 回帖的得分率:18%
结贴的总数量:2 结贴的总分数:30
无满意结贴数:0 无满意结贴分:0
未结的帖子数:6 未结的总分数:100
结贴的百分比:25.00 % 结分的百分比:23.08 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主该结一些帖子了
取消马甲机器人,请点这里:http://www.java2000.net/mycsdn/robotStop.jsp?usern=sunhuacai
如果是java客户端发送消息就不会出现上述情况!
夸平台读取,不要用BufferedReader,也不应该用\n来作为行标识
TCP传输用InputStream来读数据,用byte[]来作为数据缓冲
传输协议应指定包结构,并首先传送包大小,使对端能正确读取数据