Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sockets 消息不是通过聊天应用程序Java发送的_Sockets - Fatal编程技术网

Sockets 消息不是通过聊天应用程序Java发送的

Sockets 消息不是通过聊天应用程序Java发送的,sockets,Sockets,我不知道我做错了什么,消息实际上没有发送,也没有显示在消息区。我想不出来。也许有人能帮我。 代码已编译,但我没有收到错误。这个程序根本不起作用。我能做些什么来让它工作并提高GUI的质量(让它存储我们编写的内容) 服务器: /* *要更改此许可证标题,请在“项目属性”中选择“许可证标题”。 *要更改此模板文件,请选择工具|模板 *然后在编辑器中打开模板。 */ 包服务器; 导入静态java.awt.SystemColor.text; 导入java.awt.event.ActionEvent; 导

我不知道我做错了什么,消息实际上没有发送,也没有显示在消息区。我想不出来。也许有人能帮我。 代码已编译,但我没有收到错误。这个程序根本不起作用。我能做些什么来让它工作并提高GUI的质量(让它存储我们编写的内容)

服务器:

/*
*要更改此许可证标题,请在“项目属性”中选择“许可证标题”。
*要更改此模板文件,请选择工具|模板
*然后在编辑器中打开模板。
*/
包服务器;
导入静态java.awt.SystemColor.text;
导入java.awt.event.ActionEvent;
导入java.awt.event.ActionListener;
导入java.io.BufferedReader;
导入java.io.BufferedWriter;
导入java.io.IOException;
导入java.io.InputStream;
导入java.io.InputStreamReader;
导入java.io.OutputStream;
导入java.io.OutputStreamWriter;
导入java.net.ServerSocket;
导入java.net.Socket;
导入javax.swing.JButton;
导入javax.swing.JFrame;
导入javax.swing.JPanel;
导入javax.swing.JTextArea;
导入javax.swing.JTextField;
导入javax.swing.text.BadLocationException;
/**
*
*@author Ionutz
*/
公共类IonutServer{
/**
*@param指定命令行参数
*/
公共静态void main(字符串[]args)引发IOException、BadLocationException{
JTextField areaMessage=新的JTextField();
区域消息.设置边界(10,20,150,80);
JTextArea输入=新的JTextArea();
输入.立根(10200150,80);
JButton send=新JButton(“send”);
发送.挫折(30010010030);
JFrame=newjframe(“服务器Ionut”);
JPanel面板=新JPanel(空);
panel.add(区域消息);panel.add(输入);
panel.add(发送);frame.add(面板);frame.setLocationRelativeTo(null);frame.setSize(600400);frame.setVisible(true);
ServerSocket s=新的ServerSocket(100);
套接字s1=s.accept();
BufferedReader br=新的BufferedReader(新的InputStreamReader(
s1.getInputStream());
BufferedWriter bw=新的BufferedWriter(新的OutputStreamWriter(
s1.getOutputStream());
send.addActionListener(新ActionListener(){
已执行的公共无效操作(操作事件e){
如果(如getSource()==发送){
试一试{
write(input.getText());
bw.flush();
}捕获(IOEX异常){
}
}
}
});
}

}
客户端套接字创建是否正确?您的代码是否使用正确的e.getSource()值执行了操作?如何确保在创建套接字后单击“发送”?不知道我做错了什么,我没有收到错误…唯一的问题是消息不会发送。您可以在以下位置添加调试吗?serverSocket.accept()、两个类中的套接字创建和ActionPerformed事件等。在大多数平台上,绑定到保留端口(任何端口号小于1024)被视为具有特权,必须由root用户(或等效操作系统)执行。您确定服务器套接字创建正确吗?这是我在客户端上得到的…套接字。(SocketAddress,SocketAddress,boolean)行:不可用套接字。(字符串,int)行:不可用ChatClient.main(字符串[])行:线程“main”中的35异常java.net.ConnectException:连接被拒绝:连接在java.net.DualStackPlainSocketImpl.connect0(本机方法)在java.net.DualStackPlainSocketImpl.socketConnect(未知源)在java.net.AbstractPlainSocketImpl.doConnect(未知源)在java.net.AbstractPlainSocketImpl.connectToAddress(未知源)。也许我在编写代码时犯了一些错误