初学者,一个简单的C/S聊天程序
不知道怎么才能实现广域网 问题点数:1、回复次数:3Top
1 楼illuminance()回复于 2006-03-20 20:28:57 得分 0
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.lang.*;
public class CClientu extends JFrame implements ActionListener,Runnable
{
TextField tf;
TextArea ta;
Socket s;
DataInputStream dis;
DataOutputStream dos;
Thread t;
CClientu()
{
tf=new TextField();
tf.setEditable(false);
tf.addActionListener(this);
ta=new TextArea();
t=new Thread(this);
getContentPane().add(tf,BorderLayout.NORTH);
getContentPane().add(ta,BorderLayout.CENTER);
setSize(220,150);
setLocation(500,0);
setTitle("Client");
validate();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
try{
s=new Socket("127.0.0.1",2008);
dos=new DataOutputStream(s.getOutputStream());
dis=new DataInputStream(s.getInputStream());
tf.setEditable(true);
t.start();
}catch(Exception ex){System.out.println("Setup connect failed...");}
}
public void actionPerformed(ActionEvent e)
{
if(!tf.getText().equals(""))
{
try{
dos.writeUTF("Client:"+tf.getText()+'\n');
ta.appendText("Client:"+tf.getText()+'\n');
tf.setText("");
}catch(Exception e4){System.out.println("Send data failed...");}
}
}
public void run()
{
do{
try{
if(dis.available()!=0) ta.appendText(dis.readUTF());
Thread.sleep(200);
}catch(Exception e3){System.out.println("Receive data failed...");}
} while(true);
}
public static void main(String args[])
{ new CClientu(); }
}
Top
2 楼illuminance()回复于 2006-03-20 20:29:19 得分 0
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import java.net.*;
import java.lang.*;
public class CServeru extends JFrame implements ActionListener,Runnable
{
TextField tf;
TextArea ta;
Container con;
ServerSocket waitSocketConnection;
Socket client;
DataInputStream dis;
DataOutputStream dos;
Thread rcv;
CServeru()
{
tf=new TextField();
tf.setEditable(false);
ta=new TextArea();
rcv=new Thread(this);
tf.addActionListener(this);
con=getContentPane();
con.add(tf,BorderLayout.NORTH);
con.add(ta,BorderLayout.CENTER);
setTitle("Server");
setSize(220,150);
validate();
setVisible(true);
setDefaultCloseOperation(EXIT_ON_CLOSE);
try{
waitSocketConnection=new ServerSocket(2008);
}catch(IOException e2){System.out.println("Setup ServerSocket error...");}
try{
client=waitSocketConnection.accept();
dis=new DataInputStream(client.getInputStream());
dos=new DataOutputStream(client.getOutputStream());
tf.setEditable(true);
rcv.start();
}catch(Exception e1){System.out.println("Setup I/O failed...");}
}
public void actionPerformed(ActionEvent e)
{
if(!tf.getText().equals(""))
{
try{
dos.writeUTF("Server:"+tf.getText()+'\n');
ta.appendText("Server:"+tf.getText()+'\n');
tf.setText("");
}catch(Exception e4){System.out.println("Send data failed...");}
}
}
public void run()
{
do{
try{
if(dis.available()!=0) ta.appendText(dis.readUTF());
Thread.sleep(200);
}catch(Exception e3){System.out.println("Receive data failed...");}
}while(true);
}
public static void main(String args[])
{ new CServeru(); }
}
Top
3 楼Nowish(看我能忍耐多久)回复于 2006-03-20 21:33:44 得分 1
Mark~Top




