?? java chat applet -- server i.txt
字號:
發信人: jallon (javaFan), 信區: JAVA
標 題: 源碼公布2
發信站: 華南網木棉站 (Sun Nov 30 19:50:42 1997), 轉信
服務器端:
import java.awt.*;
import java.io.*;
import java.net.*;
import java.applet.Applet;
public final class ChatServerFrame extends Frame
{
private Label l1,l2;
private Panel p1,p2;
private TextField tf;
private TextArea ta;
private String jennifer,jennifer1;
private DatagramPacket sendPacket,receivePacket;
private DatagramSocket sendSocket,receiveSocket;
public ChatServerFrame()
{
super("Server Frame");
p1=new Panel();
p1.setLayout(new BorderLayout());
l1=new Label("Our chatting as follows:");
ta=new TextArea(10,20);
ta.setText("");
p1.add("North",l1);
p1.add("Center",ta);
add("North",p1);
p2=new Panel();
p2.setLayout(new BorderLayout());
l2=new Label("I speak now:");
p2.add("Center",l2);
tf=new TextField(20);
tf.setText("");
p2.add("South",tf);
add("Center",p2);
resize(450,260);
show();
try{
sendSocket=new DatagramSocket();
receiveSocket=new DatagramSocket(5000);
}
catch(SocketException se)
{
se.printStackTrace();
System.exit(1);
}
}
public void waitForPackets()
{
while(true)
{
try{
byte array[]=new byte[100];
receivePacket=new DatagramPacket(array,array.len
th);
receiveSocket.receive(receivePacket);
jennifer=receivePacket.getAddress().toString();
if(jennifer1!=jennifer)
{
sound();
ta.appendText("\nFrom Host: "+jennifer+"\nHo
t Port: "+receivePacket.getPort());
}
ta.appendText("\nGuest Say:\t");
byte data[]=receivePacket.getData();
String received=new String(data,0);
ta.appendText(received);
jennifer1=jennifer;
}
catch(IOException ioe)
{
ta.appendText("\nProblem lies at "+ioe.toString(
);
}
}
}
public boolean handleEvent(Event e)
{
if(e.id==Event.WINDOW_DESTROY)
{
hide();
dispose();
System.exit(0);
}
return super.handleEvent(e);
}
public boolean action(Event e,Object o)
{
try{
ta.appendText("\nJallon Say:\t");
String s=o.toString();
ta.appendText(s);
byte data[]=new byte[100];
s.getBytes(0,s.length(),data,0);
sendPacket=new DatagramPacket(data,s.length(),InetAddres
.getByName(jennifer),5001);
sendSocket.send(sendPacket);
}
catch(IOException ioe)
{
ta.appendText("problem lies at "+ioe.toString());
}
return true;
}
public void sound()
{
}
}
--
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -