菜鸟写的一段有问题的Java的代码!请高手指点!

原创 2017年01月03日 02:21:23
为什么得写的一个基于TCp的小聊天程序可以实现服务器和客户之间一句一句的对话啊!问题出在哪儿啊??

下面是我的服务器端代码:
import java.net.*;
import java.io.*;
public class ServerDemo {

/**
 * @param 这是一个基于Socket的单客户端程序
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
ServerSocket ss=new ServerSocket(4000);
Socket server=ss.accept();
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
BufferedReader is=new BufferedReader(new InputStreamReader(server.getInputStream()));
PrintWriter os=new PrintWriter(new OutputStreamWriter(server.getOutputStream()));
System.out.println("[客户说]:"+is.readLine());
String message=sin.readLine();
while(!message.equals("bye")){
os.println(message);
os.flush();
System.out.println("[我说]:"+message);
System.out.println("[客户说]:"+is.readLine());
message=sin.readLine();
}
System.out.println("本次对话结束!");
os.close();
is.close();
sin.close();
server.close();
}catch(Exception e){
e.printStackTrace();
}
}



}

下面是我的客户端代码:
import java.net.*;
import java.io.*;
public class ClientDemo {

/**
 * @param 这是一个基于Socket的单客户端程序
 */
public static void main(String[] args) {
// TODO Auto-generated method stub
try{
Socket sk=new Socket("127.0.0.1",4000);
BufferedReader sin=new BufferedReader(new InputStreamReader(System.in));
BufferedReader is=new BufferedReader(new InputStreamReader(sk.getInputStream()));
PrintWriter os=new PrintWriter(new OutputStreamWriter(sk.getOutputStream()));
System.out.println("[服务器说]:"+is.readLine());
String message=sin.readLine();
while(!message.equals("bye")){
os.println(message);
os.flush();
System.out.println("[我说]:"+message);
System.out.println("[服务器说]:"+is.readLine());
message=sin.readLine();
}
System.out.println("本次对话结束!");
os.close();
is.close();
sin.close();
sk.close();
}catch(Exception e){
e.printStackTrace();
}
}



}



相关文章推荐

成为高手的必经之路——学会调试代码(菜鸟必读)(JavaScript)

任何一个编程者都少不了要去调试代码,不管你是高手还是菜鸟,调试程序都是一项必不可少的工作。一般来说调试程序是在编写代码之后或测试期修改Bug 时进行的,往往在调试代码期间更加能够体现出编程者的水平高低...
  • tywali
  • tywali
  • 2012年07月11日 15:56
  • 749

成为高手的必经之路——学会调试代码(菜鸟必读)

转载  http://hi.baidu.com/ztreeapi/item/1cce78c2e0e1e8b60d0a7b8a 前言:不知不觉写了很多,希望你能耐心看完这篇文章 ...
  • WCG_BOY
  • WCG_BOY
  • 2012年07月31日 10:08
  • 995

利用Java写一段居于聊天室代码

  • 2009年06月15日 19:16
  • 3KB
  • 下载

Java之美[从菜鸟到高手演变]之HashMap、HashTable

集合类之番外篇:深入解析HashMap、HashTable                                                                       ...

Java之美[从菜鸟到高手演变]之eclipse连接hadoop集群

作者:二青个人站点:zhangerqing.cn    邮箱:xtfggef@gmail.com    微博:http://weibo.com/xtfggef准备工具:Ubuntu 14.10 des...

Java之美[从菜鸟到高手演练]之ThreadLocal原理分析

作者:二青个人站点:zhangerqing.cn    邮箱:xtfggef@gmail.com    微博:http://weibo.com/xtfggef简介早在JDK 1.2的版本中就提供jav...

Java之美[从菜鸟到高手演变]之设计模式二

在阅读过程中有任何问题,请及时联系:egg。邮箱:xtfggef@gmail.com 微博:http://weibo.com/xtfggef如有转载,请说明出处:http://blog.csdn.ne...

Java之美[从菜鸟到高手演变]系列

随着博文越来越多,为博客添加一个导航很有必要!本博客将相继开通Java、CloudFoundry、Linux、Ruby等专栏,都会设立目录,希望读者朋友们能更加方便的阅读! 在阅读的过程中有任何问题...
  • achuo
  • achuo
  • 2015年12月04日 14:34
  • 230

Java之美[从菜鸟到高手演变]之eclipse的使用、优化配置

工欲善其事,必先利其器作者:egg邮箱:xtfggef@gmail.com微博:http://weibo.com/xtfggef博客:http://blog.csdn.net/zhangerqing(...

Java之美[从菜鸟到高手演变]之常见的几种排序算法-插入、选择、冒泡、快排、堆排等

Java面试宝典系列之基础排序算法作者:egg邮箱:xtfggef@gmail.com微博:http://weibo.com/xtfggef博客:http://blog.csdn.net/zhange...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:菜鸟写的一段有问题的Java的代码!请高手指点!
举报原因:
原因补充:

(最多只允许输入30个字)