Socket连接问题,客户端和服务器,在自己电脑上可以连接,两台电脑一台做服务器,一台做客户端,客户端这边也是以管理员权限运行的,还是不行这是错误报告:java.net.ConnectException: Connection refused: connect
at java.net.DualStackPlainSocketImpl.connect0(Native Method)
at java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)
at java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)
at java.net.AbstractPlainSocketImpl.connect(Unknown Source)
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at java.net.Socket.<init>(Unknown Source)
at XXChatClient.ClientLogin$LoginAction.actionPerformed(ClientLogin.java:96)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEventImpl(Unknown Source)
at java.awt.EventQueue.access$500(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.awt.EventQueue$3.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.awt.EventQueue$4.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
这是部分源代码:/**
 * 
 */
package XXChatClient;/**
 * @author G50
 *
 */
import java.awt.*;
import java.awt.event.*;import javax.swing.*;
import javax.swing.border.*;import java.io.*;
import java.net.*;public class ClientLogin extends JFrame{ /**
 * @param args
 */
private JTextField nametxt;
private String name;
private JPasswordField pwdtxt;

public ClientLogin(){
init();
this.setVisible(true);
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}

public void init(){
this.setTitle("登录界面");
this.setSize(330, 230);
int x = (int)this.getToolkit().getScreenSize().getWidth();
int y = (int)this.getToolkit().getScreenSize().getHeight();
this.setLocation((x-this.getWidth())/2, (y-this.getHeight())/2);
this.setResizable(false);

/* URL url = this.getClass().getResource("D:\\loginlogo.png");
Icon icon = new ImageIcon(url);
JLabel label = new JLabel(icon);
this.add(label,BorderLayout.NORTH);*/

JPanel mainPanel = new JPanel();
Border border = BorderFactory.createEtchedBorder(EtchedBorder.LOWERED); //创建具有浮雕化外型的边框
mainPanel.setBorder(BorderFactory.createTitledBorder(border, "输入登录信息",
TitledBorder.CENTER,TitledBorder.TOP)); //向现有边框添加标题,并指定标题文本位置

this.add(mainPanel, BorderLayout.CENTER);
mainPanel.setLayout(null);
JLabel name = new JLabel("请输入昵称:");
name.setBounds(30, 30, 80, 22);
mainPanel.add(name);
nametxt = new JTextField();
nametxt.setBounds(115, 30, 120, 22);
mainPanel.add(nametxt);
JLabel pwd = new JLabel("请输入密码:");
pwd.setBounds(30, 60, 80, 22);
mainPanel.add(pwd);
pwdtxt = new JPasswordField();
pwdtxt.setBounds(115, 60, 120, 22);
mainPanel.add(pwdtxt);

JPanel buttonPanel = new JPanel();
buttonPanel.setLayout(new FlowLayout(FlowLayout.RIGHT));
this.add(buttonPanel, BorderLayout.SOUTH);
JButton reset = new JButton("重   置");
reset.addActionListener(new ActionListener(){
public void actionPerformed(ActionEvent e){
nametxt.setText("");
pwdtxt.setText("");
}
});
buttonPanel.add(reset);
JButton submit = new JButton("登   录");
submit.addActionListener(new LoginAction(this));
buttonPanel.add(submit);

}

class LoginAction implements ActionListener{
private JFrame self;

public LoginAction(JFrame self){
this.self = self;
}

public void actionPerformed(ActionEvent e){
System.out.println("用户名是"+nametxt.getText()+",密码是"+new String(pwdtxt.getPassword()));
name = nametxt.getText();
System.out.println(name);
try {
Socket socket = new Socket("192.168.1.102",8889);

new ChatClient(socket,name);
self.dispose();
} catch (UnknownHostException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
JOptionPane.showConfirmDialog(self, "找不到指定服务器","连接失败",
JOptionPane.OK_OPTION,JOptionPane.ERROR_MESSAGE);
} catch (IOException e1) {
// TODO 自动生成的 catch 块
e1.printStackTrace();
JOptionPane.showConfirmDialog(self, "连接服务器出错,请重试!","连接失败"
,JOptionPane.OK_OPTION,JOptionPane.ERROR_MESSAGE);
}
}
}

public static void main(String[] args) {
// TODO 自动生成的方法存根
/*try{
UIManager.setLookAndFeel(new SubstanceBusinessLookAndFeel());
}catch(UnsupportedLookAndFeelException e){
e.printStackTrace();
}
JFrame.setDefaultLookAndFeelDecorated(true);
JDialog.setDefaultLookAndFeelDecorated(true);*/
new ClientLogin();
}}