import java.net.*;
import java.io.*;
public class simpleChat
{
public static void main(String args[]) throws Exception
{
DatagramSocket ioSocket;
String toName, userIn;
byte sendBuffer[] = new byte[128];
byte receiveBuffer[] = new byte[128];
DatagramPacket sendPacket = new DatagramPacket(sendBuffer,128);
DatagramPacket receivePacket = new DatagramPacket(receiveBuffer,128);
BufferedReader in = new BufferedReader(new InputStreamReader( System.in));
int ioPort = 111,receiverPort = ioPort;
if (args.length>0)
toName = args[0];
else
toName = "localhost";
if (toName.equals("localhost"))
// Use port 111 or 222 whether
receiverPort = 222; // chatting with localhost or remote
try
{
ioSocket = new DatagramSocket(ioPort);
}
catch (Exception e)
{ // Switch ports when port 111 in use
ioPort = 222; receiverPort = 111;
ioSocket = new DatagramSocket(ioPort);
}
System.out.println("simpleChat on port "+ ioPort +". Ctrl Z to quit.");
while ((userIn=in.readLine())!=null)
{
// Read user input until Ctrl Z
sendBuffer= userIn.getBytes(); // Convert string to byte array
sendPacket = new DatagramPacket( sendBuffer,
sendBuffer.length,InetAddress.getByName(toName), receiverPort);
ioSocket.send(sendPacket); // Send packet
ioSocket.receive(receivePacket); // Wait to receive packet
System.out.println( "Received " + new
String(receivePacket.getData(),0, receivePacket.getLength())); // Print contents of received
packet
}
}
}
No comments:
Post a Comment