套接字流的Client/Server程序的字符串传输问题

firedrose 2005-03-18 09:51:10
按教材上说的,我写了一个简单的套接字流的Client/Server程序功能是Client把键盘的输入信息发送到Server上。然后Server显示出来。语法正确,编译也完全通过。问题出来了,在输入完一个信息之后,按一下回车,正确传送到Server上,可是再想在Client上输入下一个字符信息时却不能输入,真是不解,请大家帮帮忙,帮我解决这一问题!谢谢
我的源程序是这样的:
一. Client端
import java.io.*;
import java.net.*;
public class talkclient
{
public static void main(String args[])
{
String s="";
try{
Socket socket=new Socket("firedrose200959",1000);
PrintStream os=new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
DataInputStream is=new DataInputStream(new BufferedInputStream(socket.getInputStream()));
DataInputStream in=new DataInputStream(new BufferedInputStream(System.in));
while(s!="Bye")
{
s=in.readLine();
os.println(s);
os.flush();
System.out.println("Client:"+s);
System.out.println("Server:"+is.readLine());
}
os.close();
is.close();
socket.close();
}catch(Exception e){}
}
}
二.Server端
import java.io.*;
import java.net.*;
public class talkserver
{
public static void main(String args[])
{
try{

ServerSocket server=new ServerSocket(1000);


Socket socket=server.accept();

String s="";
DataInputStream is=new DataInputStream(new BufferedInputStream(socket.getInputStream()));
PrintStream os=new PrintStream(new BufferedOutputStream(socket.getOutputStream()));
DataInputStream sin=new DataInputStream(new BufferedInputStream(System.in));
System.out.println("Client:"+is.readLine());
s=sin.readLine();
while(!s.equals("Bye"))
{
os.print(s);
os.flush();
System.out.println("Server:"+s);
System.out.println("Client:"+is.readLine());
s=sin.readLine();
}
is.close();
os.close();
socket.close();
server.close();
}catch(Exception e){}
}
}
...全文
125 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qnzzzz 2005-03-19
  • 打赏
  • 举报
回复
真的很奇怪,调试了几遍,未能解决!
问题如下:
(客户端)System.out.println("Server:"+is.readLine());
is.readLine()语句执行后不能正常返回一个String,即所读取到的内容!但是在这个is对象的lineBuffer里确实存在从服务器端读到的字符串!!!???
enrico 2005-03-19
  • 打赏
  • 举报
回复
没仔细看,把PrintStream换成PrintWriter试试看
feixiang2005 2005-03-18
  • 打赏
  • 举报
回复
最好多加个判断回车的语句; 具体怎么写我也不知道;C的我知道。。。

62,630

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧