Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * Created by Zahin on 11/17/2016.
- */
- import java.io.ByteArrayInputStream;
- import java.io.IOException;
- import java.io.ObjectInputStream;
- import java.net.BindException;
- import java.net.DatagramPacket;
- import java.net.DatagramSocket;
- import java.net.InetAddress;
- import java.net.Socket;
- import java.net.SocketException;
- import java.util.Hashtable;
- import java.util.Scanner;
- import java.util.StringTokenizer;
- public class Server {
- public static void main(String[] args) {
- String via="CSE108_NetworkingAssignmentServer";
- DatagramSocket socketReceiver;
- DatagramSocket socketSender;
- DatagramPacket receivingPack;
- DatagramPacket sendingPack;
- String[] strArray= new String[4];
- Hashtable<String,User> table=null;
- int counter1=0;
- int counter2=0;
- try{
- socketReceiver = new DatagramSocket(1202);
- socketSender = new DatagramSocket();
- receivingPack = new DatagramPacket(new byte[1024], 1024);
- while(true){
- socketReceiver.receive(receivingPack);
- byte[] receivedData= receivingPack.getData();
- String str1 = new String(receivedData);
- InetAddress IPAddress = receivingPack.getAddress();
- int port = receivingPack.getPort();
- StringTokenizer st= new StringTokenizer(str1," ");
- while (st.hasMoreTokens()) {
- strArray[counter1]=st.nextToken();
- counter1++;
- }
- if (strArray[0].equals(via)== false) {
- System.out.println("Warning: Server name mismatch. Message dropped.");
- }
- else if (strArray[0].equals(via)== true && !table.containsKey(strArray[1]) ){
- System.out.println("Warning: Unknown recipient. Message dropped.");
- //ip ar port er condition add korte hobe
- }
- else if(strArray[0].equals(via)== true && strArray[1].equals(via)== true ) {
- int portR= Integer.parseInt(strArray[3]);
- User user = new User(portR,IPAddress) ;
- table.put(strArray[2],user);
- }
- else if(strArray[0].equals(via)== true && strArray[1].equals(via)== false && table.containsKey(strArray[1]) ) {
- byte[] sendingData = strArray[3].getBytes();
- sendingPack =new DatagramPacket(sendingData, sendingData.length, IPAddress, port);
- socketSender.send(sendingPack);
- }
- System.exit(0);
- }
- } catch (SocketException e1) {
- e1.printStackTrace();
- } catch (IOException e1) {
- e1.printStackTrace();
- }
- }catch(SocketException e) {
- e.printStackTrace();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement