好吧,我需要帮助来运行我以前的老师给我的 Java 小程序。他们是两个..一个被称为服务器另一个被称为客户端。你在一台电脑上运行服务器,它要求你输入端口号。您在同一网络上的另一台 PC 上运行客户端小程序并输入相同的端口号。两者都已连接,现在您可以在这两台电脑之间发送消息。我的老师就是这样给我看的。现在我正在尝试这样做,但我收到错误“java.net.ConnectException:连接被拒绝:连接”
现在我知道它曾经很久以前就可以工作并且代码没有被修改。但我现在无法让它工作。也许我错过了什么?我把小程序的代码放在这里吗?因为我找不到附加某些东西的选项。
ChatClient.java 代码:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class ChatClient implements ActionListener{
static JTextArea ta = null;
static JButton b1=null;
static DataInputStream in = null;
static DataOutputStream out = null;
static Socket s = null;
static ServerSocket ss = null;
public ChatClient(){
JFrame jf = new JFrame("Chat Client");
jf.setSize(300,300);
jf.setLocation(150,150);
ta = new JTextArea();
b1 = new JButton("Send");
jf.add("South",b1);
jf.add("North",ta);
b1.addActionListener(this);
jf.setVisible(true);
}
public void actionPerformed(ActionEvent evt){
if(evt.getSource()==b1){
try{
out.writeUTF(ta.getText());
}
catch(Exception e){
System.out.println(e);
}
}
}
public static void main(String[]args){
new ChatClient();
try{
int port = Integer.parseInt(JOptionPane.showInputDialog("Enter port number"));
s = new Socket("127.0.0.1",port);
System.out.println("client is connected");
in = new DataInputStream(s.getInputStream());
out = new DataOutputStream(s.getOutputStream());
while(true){
ta.setText(in.readUTF());
}
}
catch(Exception e){
System.out.println(e);
}
}
}
ChatServer.java 代码:
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.net.*;
import java.io.*;
public class ChatServer implements ActionListener{
static JTextArea ta = null;
static JButton b1=null;
static DataInputStream in = null;
static DataOutputStream out = null;
static Socket s = null;
static ServerSocket ss = null;
public ChatServer(){
JFrame jf = new JFrame("Chat Server");
jf.setSize(300,300);
jf.setLocation(50,50);
ta = new JTextArea();
b1 = new JButton("Send");
jf.add("South",b1);
jf.add("North",ta);
b1.addActionListener(this);
jf.setVisible(true);
}
public void actionPerformed(ActionEvent evt){
if(evt.getSource()==b1){
try{
out.writeUTF(ta.getText());
}
catch(Exception e){
System.out.println(e);
}
}
}
public static void main(String[]args){
new ChatServer();
try{
int port = Integer.parseInt(JOptionPane.showInputDialog("Enter port number"));
ss = new ServerSocket(port);
System.out.println("Server start and wait...........");
s = ss.accept();
System.out.println("client is connected");
in = new DataInputStream(s.getInputStream());
out = new DataOutputStream(s.getOutputStream());
while(true){
ta.setText(in.readUTF());
}
}
catch(Exception e){
System.out.println(e);
}
}
}
我真的需要这个工作,我都很困惑。请指导我。