日期:2014-05-18  浏览次数:20746 次

多线程客服端和服务器问题,帮忙看下!!!谢谢
服务器端
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import javax.swing.*;
import java.lang.*;
public class ServerSocketTest
{
public static void main(String [] args)
{
JFrame2 jf = new JFrame2("服务器端");
}
}
class JFrame2 extends JFrame implements ActionListener
{
JPanel jp = new JPanel();
JButton jb = new JButton("监听端口");
JLabel jl = new JLabel("设置端口");
JTextField jtf = new JTextField(10);
JTextArea jta = new JTextArea(5,6);
Socket socket;
int i =1;
JFrame2(String s)
{
super(s);
setSize(300,350);
setVisible(true);
add(jp,"North");
jp.add(jl);
jp.add(jtf);
jp.add(jb);
add(jta,"Center");
addWindowListener(new WindowAdapter()
{
public void windowClosing(WindowEvent e)
{
System.exit(0);
}
});
jb.addActionListener(this);
}
public void run()
{
String s = null;
try
{
while (true)
{
DataInputStream dis = new DataInputStream(socket.getInputStream());
DataOutputStream dio = new DataOutputStream(socket.getOutputStream());
dio.writeUTF("嘎嘎,我是服务器");
s = dis.readUTF();
if (s.equals("end"))
{
dio.close();
dis.close();
socket.close();
break;
}
jta.append("第"+i+"个客户端发送信息: "+s);

}
}
catch (IOException e)
{
System.out.println(e);
}
}
public void actionPerformed(ActionEvent a)
{
try
{
int ip = Integer.parseInt(jtf.getText());
ServerSocket ss = new ServerSocket(ip);
while (true)
{
Socket socket = ss.accept();
Thread th = new Thread();
th.start();
i++;
}
}
catch (IOException e)
{
System.out.println("服务器出错");
}
}
}

客户端
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import java.io.*;
import java.net.*;
public class SocketTest
{
public static void main(String [] args)
{
JFrame1 jf = new JFrame1("客户端");
}
}
class JFrame1 extends JFrame