写了个网络编程的,但是一启动程序就失去响应,也不抱异常。希望大家帮忙解决。
package df;
import java.net.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class df extends JFrame implements ActionListener
{
JPanel pSaler;
JPanel pBuyer;
JLabel lbBuyer,lbSaler;
JTextField txtSaler;
JList lstBuyer;
JScrollPane jsp;
JButton btnStart;
ServerSocket serverSocket;
Socket sock;
int dfPort;
DataOutputStream out;
DataInputStream in;
public df(int port)
{
this.dfPort=port;
createUI();
}
public void startServer()
{
try
{
serverSocket=new ServerSocket(this.dfPort);
[color=#0000FF]sock=serverSocket.accept();//经调试,发现程序一直停在此处 out=new DataOutputStream(sock.getOutputStream());
in=new DataInputStream(sock.getInputStream());
out.writeUTF("连接服务器成功");
dfCommunions th=new dfCommunions(this);
th.start();
}
catch(IOException e)
{
JOptionPane.showMessageDialog(null, "服务器启动失败");
return ;
}[/color] }
public void createUI()
{
this.setLayout(new BorderLayout());
pBuyer=new JPanel();
pSaler=new JPanel();
lbSaler=new JLabel("卖家");
lbBuyer=new JLabel("买家");
txtSaler=new JTextField(20);
lstBuyer=new JList();
btnStart=new JButton("启动服务器");
btnStart.addActionListener(this);
jsp=new JScrollPane(lstBuyer);
pSaler.add(lbSaler);
pSaler.add(txtSaler);
pBuyer.add(lbBuyer);
pBuyer.add(jsp);
this.add(pSaler,"North");
this.add(pBuyer,"Center");
this.add(btnStart,"South");
this.setSize(400,200);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnStart)
{
startServer();
}
}
}
package df;
import java.net.*;
import java.awt.*;
import javax.swing.*;
import java.awt.event.*;
import java.io.*;
public class df extends JFrame implements ActionListener
{
JPanel pSaler;
JPanel pBuyer;
JLabel lbBuyer,lbSaler;
JTextField txtSaler;
JList lstBuyer;
JScrollPane jsp;
JButton btnStart;
ServerSocket serverSocket;
Socket sock;
int dfPort;
DataOutputStream out;
DataInputStream in;
public df(int port)
{
this.dfPort=port;
createUI();
}
public void startServer()
{
try
{
serverSocket=new ServerSocket(this.dfPort);
[color=#0000FF]sock=serverSocket.accept();//经调试,发现程序一直停在此处 out=new DataOutputStream(sock.getOutputStream());
in=new DataInputStream(sock.getInputStream());
out.writeUTF("连接服务器成功");
dfCommunions th=new dfCommunions(this);
th.start();
}
catch(IOException e)
{
JOptionPane.showMessageDialog(null, "服务器启动失败");
return ;
}[/color] }
public void createUI()
{
this.setLayout(new BorderLayout());
pBuyer=new JPanel();
pSaler=new JPanel();
lbSaler=new JLabel("卖家");
lbBuyer=new JLabel("买家");
txtSaler=new JTextField(20);
lstBuyer=new JList();
btnStart=new JButton("启动服务器");
btnStart.addActionListener(this);
jsp=new JScrollPane(lstBuyer);
pSaler.add(lbSaler);
pSaler.add(txtSaler);
pBuyer.add(lbBuyer);
pBuyer.add(jsp);
this.add(pSaler,"North");
this.add(pBuyer,"Center");
this.add(btnStart,"South");
this.setSize(400,200);
this.setVisible(true);
}
public void actionPerformed(ActionEvent e)
{
if(e.getSource()==btnStart)
{
startServer();
}
}
}
serverSocket=new ServerSocket(this.dfPort);
sock=serverSocket.accept();
accept()需要接受请求,而楼主运行后好像一直没有请求,所以程序一直在等待