سورس کامل کلاس Client
کد PHP:
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.*;
import java.net.InetAddress;
import javax.swing.*;
public class Client extends JFrame {
private JTextArea displayArea;
private DatagramSocket socket;
private JTextField enterField;
public Client()
{
super("client");
enterField=new JTextField("Type Message Here");
enterField.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent event)
{
try{
String message=event.getActionCommand();
displayArea.append("\nSending Packet Containing: "+message+"\n");
byte[] data=message.getBytes();
DatagramPacket sendPacket=new DatagramPacket(data,data.length,InetAddress.getLocalHost(),5000);
socket.send(sendPacket);
displayArea.append("Packet send\n");
displayArea.setCaretPosition(displayArea.getText().length());
}
catch(IOException exe)
{
displayMessage(exe+"\n");
exe.printStackTrace();
}
}
}
);
add(enterField,BorderLayout.NORTH);
displayArea=new JTextArea();
add(new JScrollPane(displayArea),BorderLayout.CENTER);
setSize(400,300);
setVisible(true);
try{
socket=new DatagramSocket(5000);
}
catch(SocketException exe)
{
exe.printStackTrace();
System.exit(1);
}
}
///////////////////////////////////////////////////////////
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()));
}
catch(IOException e)
{
displayMessage(e+"\n");
e.printStackTrace();
}
}
}
///////////////////////////////////////////////////////////////////////
private void displayMessage(final String message)
{
SwingUtilities.invokeLater(
new Runnable()
{
public void run()
{
displayArea.append(message);
}
}
);
}
}