编一个简单的java聊天程序,但是运行时服务器和客户端都出错

改聊天工具希望得到的界面如下:||A(IP:端口):。。。(数据)。。。(时间)||B(IP:端口):。。。(数据)。。。(时间)服务器代码如下:packageChatP... 改聊天工具希望得到的界面如下:

|| A(IP:端口):。。。(数据)。。。 (时间)
|| B(IP:端口):。。。(数据)。。。 (时间)
服务器代码如下:
package ChatProText;
import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;
public class ChatServer {
private static int PORTNUM=1123;//定义程序使用的端口号PORTNUM

public static void main(String args[]) throws Exception
{
ServerSocket s=new ServerSocket(PORTNUM);

while(true)
{

Socket s1=s.accept();
BufferedReader InputS=new BufferedReader(new InputStreamReader(s1.getInputStream()));
System.out.println(InputS.readLine());
Date now=new Date();
DateFormat d=DateFormat.getDateTimeInstance();
String time=d.format(now);
PrintWriter OutputS=new PrintWriter(s1.getOutputStream());
BufferedReader say=new BufferedReader(new InputStreamReader(System.in));
String Ssay=say.readLine();
OutputS.println("Server"+String.valueOf(s1.getLocalPort())+Ssay+time);
OutputS.flush();
System.out.println("Server"+String.valueOf(s1.getLocalPort())+Ssay+time);
}

}

}
客户端代码如下:
package ChatProText;
import java.io.*;
import java.net.*;
import java.util.*;
import java.text.*;
public class ChatClient {
public static void main(String[] args)throws Exception
{

Socket c=new Socket("127.0.0.1",1123);
while(true)
{
BufferedReader InputS=new BufferedReader(new InputStreamReader(c.getInputStream()));
System.out.println(InputS.readLine());
Date now=new Date();
DateFormat d=DateFormat.getDateTimeInstance();
String time=d.format(now);
PrintWriter OutputS=new PrintWriter(c.getOutputStream());
BufferedReader say=new BufferedReader(new InputStreamReader(System.in));
String Csay=say.readLine();
OutputS.println("Client:"+String.valueOf(c.getLocalPort())+Csay+time);
OutputS.flush();
System.out.println("Client:"+String.valueOf(c.getLocalPort())+Csay+time);

}

}
}

编译没问题 可是运行时却总是报错·
求各位帮我调试一下·
帮我解决·
展开
 我来答
wangwenjun0609
2009-04-03 · TA获得超过1016个赞
知道小有建树答主
回答量:306
采纳率:0%
帮助的人:301万
展开全部
给你简单修改了一下,你看看吧

import java.io.*;
import java.net.*;
import java.util.*;
import java.text.*;

public class ChatClient {
public static void main(String[] args) throws Exception {

Socket c = new Socket("127.0.0.1", 1123);
while (true) {
Date now = new Date();
DateFormat d = DateFormat.getDateTimeInstance();
String time = d.format(now);
PrintWriter OutputS = new PrintWriter(c.getOutputStream());
BufferedReader say = new BufferedReader(new InputStreamReader(System.in));
String Csay = say.readLine();
System.out.println("Client:" + String.valueOf(c.getLocalPort()) + Csay + time);
OutputS.println("Client:" + String.valueOf(c.getLocalPort()) + Csay + time);
OutputS.flush();
BufferedReader InputS = new BufferedReader(new InputStreamReader(c.getInputStream()));
System.out.println(InputS.readLine());
}

}
}
、、、、、、、、、、、、、、、、

import java.io.*;
import java.net.*;
import java.text.*;
import java.util.*;

public class ChatServer {
private static int PORTNUM = 1123;// 定义程序使用的端口号PORTNUM

public static void main(String args[]) throws Exception {
ServerSocket s = new ServerSocket(PORTNUM);

while (true) {

Socket s1 = s.accept();
BufferedReader InputS = new BufferedReader(new InputStreamReader(s1.getInputStream()));
System.err.println();
System.out.println(InputS.readLine());

Date now = new Date();
DateFormat d = DateFormat.getDateTimeInstance();
String time = d.format(now);
PrintWriter OutputS = new PrintWriter(s1.getOutputStream());
BufferedReader say = new BufferedReader(new InputStreamReader(System.in));
String Ssay = say.readLine();
OutputS.println("Server" + String.valueOf(s1.getLocalPort()) + Ssay + time);
OutputS.flush();
System.out.println("Server" + String.valueOf(s1.getLocalPort()) + Ssay + time);
}
}
}
说一下你的程序出现的原因吧!
你的客户端与程序段在开始运行都在监听对方发来的消息,当什么都不会有了,因为对方都在等着接受消息呢,这样就造成了死锁
alucard9257
2009-04-03 · TA获得超过296个赞
知道小有建树答主
回答量:268
采纳率:0%
帮助的人:193万
展开全部
再说详细一点,怎么报的错,是什么错?
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式