سورس کلاس Server بع صورت کامل
کد PHP:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.awt.*;
import javax.swing.*;
public class Server extends JFrame{
private JTextArea displayArea;
private DatagramSocket socket;
public Server()
{
super("Server");
displayArea=new JTextArea();
add(new JScrollPane(displayArea),BorderLayout.CENTER);
setSize(400,300);
setVisible(true);
try{
socket=new DatagramSocket(5000);
}
catch(SocketException exe)
{
exe.printStackTrace();
}
}
///////////////////////////////////////////////////////////
public void waitForPacket()
{
while(true)
{
try{
byte[] data=new byte[100];
DatagramPacket recievePacket=new DatagramPacket(data,data.length);
socket.receive(recievePacket);
displayMessage("\nPacket Received: "+"\nFrom Host: "+recievePacket.getAddress()+"\nHost Port: "+recievePacket.getPort()+"\nLenght: "+recievePacket.getLength()+"\nContaining:\n\t"+new String(recievePacket.getData(),0,recievePacket.getLength()));
sendPacketToClient(recievePacket);
}
catch(IOException e)
{
displayMessage(e+"\n");
e.printStackTrace();
}
}
}
//////////////////////////////////////////////////////////////////////
private void sendPacketToClient(DatagramPacket receiv) throws IOException
{
displayMessage("\n\nEcho data to client...");
DatagramPacket sendPacket=new DatagramPacket(receiv.getData(),receiv.getLength(),receiv.getAddress(),receiv.getPort());
socket.send(receiv);
displayMessage("Packet send\n");
}
///////////////////////////////////////////////////////////////////////
private void displayMessage(final String message)
{
SwingUtilities.invokeLater(
new Runnable()
{
public void run()
{
displayArea.append(message);
}
}
);
}
}