千陌雪 2014-10-07 17:28 采纳率: 0%
浏览 942

Java网络聊天室无法接收消息

import java.io.*;
import java.net.*;

import javax.swing.*;

import java.awt.*;
import java.awt.event.*;
public class Server extends JFrame
{
private JTextArea jTextArea;
private JTextField jTextField;
InputStream inputStream;
OutputStream outputStream;
static ServerSocket serverSocket;
Socket socket;
public Server()
{
////窗体///////////////////////////////////////
JFrame.setDefaultLookAndFeelDecorated(true);
JFrame jFrame=new JFrame("我是服务器端");//新建窗体
jFrame.setBounds(200, 200, 420, 400);
jFrame.addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent we)
{
System.exit(0);
}
});

/////文本域//////////////////////////////////////
jTextArea=new JTextArea();//新建文本域
jTextArea.setEditable(false);//设置不可编辑属性
JScrollPane jScrollPane=new JScrollPane(jTextArea);
jFrame.getContentPane().add(jScrollPane,"Center");//添加到窗体

//////面版和按钮属性事件//////////////////////////////////
JPanel jPanel_1=new JPanel();
JLabel jLabel=new JLabel("请输入消息");
jTextField=new JTextField(20);
jPanel_1.add(jTextField);

JPanel jPanel_2=new JPanel();
JButton jButton_1=new JButton("发送");
jButton_1.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
jTextArea.append("你说:"+jTextField.getText()+"\n");
connectSend();
jTextField.setText("");
}
});
JButton jButton_2=new JButton("取消");
jButton_2.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent ae)
{
jTextField.setText("");
}
});

jPanel_1.add(jButton_1);
jPanel_1.add(jButton_2);

JPanel jPanel_12=new JPanel(new BorderLayout());
jPanel_12.add(jScrollPane,"Center");//添加到窗体
jPanel_12.add(new JButton("打个招呼"),"East");
jPanel_12.add(jPanel_1,"South");
jFrame.getContentPane().add(jPanel_12);
jFrame.show();
}

public void connectRecive()
{
try
{
String str;
socket=serverSocket.accept();

inputStream=socket.getInputStream();
/(注释)BufferedInputStream bufferInput=new BufferedInputStream(inputStream);
byte[] bty=new byte[100];
int len=bufferInput.read(bty);
str=new String(bty,0,len);*/(注释)
*

BufferedReader in = new BufferedReader(new InputStreamReader(inputStream));//sss
String s =new String();//sssssssssss

while(true)
{
s=in.readLine();//ssssss
jTextArea.append("对方说:"+s+"\n");
if(s.equals("exit"))
break;
}
in.close();
inputStream.close();

socket.close();
}
catch(Exception e)
{
e.printStackTrace();
}
}

public void connectSend()
{
try
{
outputStream=socket.getOutputStream();
PrintWriter out=new PrintWriter(outputStream);
out.write(jTextField.getText());
out.flush();
}
catch(Exception e)
{
e.printStackTrace();
}
}

public static void main(String [] args) throws Exception
{
serverSocket=new ServerSocket(6007);
Server server=new Server();
server.connectRecive();
}
}
求指教:在conectRecieve()函数里,我把注释部分换成了加 sssss 的那几行,为什么就不能从客户端接收消息了呢(没有换的时候可以接收)

  • 写回答

1条回答 默认 最新

  • CSDN-Ada助手 CSDN-AI 官方账号 2022-09-21 03:59
    关注
    不知道你这个问题是否已经解决, 如果还没有解决的话:

    如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^
    评论

报告相同问题?

悬赏问题

  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题
  • ¥15 Python时间序列如何拟合疏系数模型
  • ¥15 求学软件的前人们指明方向🥺