网页连接不上java服务端,[求助]服务器与客户端连接不了

[求助]服务器与客户端连接不了

我做了一个模拟QQ聊天功能的东东;可是现在连连接到一起都成问题,老是出错有没有高手能帮忙看看啊,怎么样让他们连接在一起啊??

其中服务器代码如下:

import java.io.*;

import java.net.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.event.*;

public class Server extends JFrame

{

static JTextArea ja1 = new JTextArea(12,35);//静态变量

JTextArea ja2 = new JTextArea(5,12);

JScrollPane jp1 = new JScrollPane(ja1);

JScrollPane jp2 = new JScrollPane(ja2);

JButton jb1 = new JButton("发送");

JButton jb2 = new JButton("打开服务器");

String str1= "";

ServerSocket serverSocket;

DataInputStream inFromClient;

DataOutputStream outToClient;

Socket connectToClient;

public Server()

{

super("服务器");

Container con = getContentPane();

con.setLayout(new FlowLayout());

jb1.addActionListener(new ActionListener()

{

//按键jb1触发事件

public void actionPerformed(ActionEvent e)

{

Connect(); //调用连接函数

ja2.setText("连接到客户端");

}

});

jb2.addActionListener(new ActionListener()

{

//按键jb2触发事件

public void actionPerformed(ActionEvent e)

{

sentData();//调用发送数据函数

}

});

con.add(jp1);

con.add(jp2);

con.add(jb1);

con.add(jb2);

setBounds(100,100,400,400);

setVisible(true);

} 完成组件构造

public void Connect()//连接主机

{

try{

serverSocket = new ServerSocket(5500);

connectToClient = serverSocket.accept();

}

catch(IOException e)

{

e.getStackTrace();

}

}

public void sentData()//发送数据

{

try

{

//inFromClient = new DataInputStream(connectToServer.getInputStream());

outToClient = new DataOutputStream(connectToClient.getOutputStream());

outToClient.writeUTF(str1);

outToClient.flush();

}

catch(IOException e)

{

}

}

public static void main(String[]args)

{

Server cp = new Server();

cp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

客户端代码如下:

import java.io.*;

import java.net.*;

import javax.swing.*;

import java.awt.*;

import java.awt.event.*;

import javax.swing.event.*;

public class Client extends JFrame

{

static JTextArea ja1 = new JTextArea(12,35);//静态变量

JTextArea ja2 = new JTextArea(5,12);

JScrollPane jp1 = new JScrollPane(ja1);

JScrollPane jp2 = new JScrollPane(ja2);

JButton jb1 = new JButton("发送");

JButton jb2 = new JButton("连接");

String str1= "";

Socket connectToServer;

DataInputStream inFromServer;

DataOutputStream outToServer;

public Client()

{

super("客户端");

Container con = getContentPane();

con.setLayout(new FlowLayout());

jb1.addActionListener(new ActionListener()

{

//按键jb1触发事件

public void actionPerformed(ActionEvent e)

{

Connect(); //调用连接函数

ja2.setText("连接到服务器");

}

});

jb2.addActionListener(new ActionListener()

{

//按键jb2触发事件

public void actionPerformed(ActionEvent e)

{

sentData();//调用发送数据函数

}

});

con.add(jp1);

con.add(jp2);

con.add(jb1);

con.add(jb2);

setBounds(100,100,400,400);

setVisible(true);

} 完成组件构造

public void Connect()//连接主机

{

try{

connectToServer = new Socket("192.168.1.93",5500);

}

catch(IOException e)

{

e.getStackTrace();

}

}

public void sentData()//发送数据

{

try

{

//inFromServer = new DataInputStream(connectToServer.getInputStream());

outToServer = new DataOutputStream(connectToServer.getOutputStream());

outToServer.writeUTF(str1);

outToServer.flush();

}

catch(IOException e)

{

}

}

public static void main(String[]args)

{

Client cp = new Client();

cp.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

}

}

搜索更多相关的解决方案:

服务器  客户端

----------------解决方案--------------------------------------------------------

你两个都是把数据写出,如何显示出来

并且连接的模式也不是应该这样的,你应该在服务器端起一个线程处理新来的连接,还有

你起ServerSocket的时候,不要以UI线程里面做,应该起一个线程把它建起来,然后用一个无限循在那里监听

----------------解决方案--------------------------------------------------------

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值