+91 9404 340 614 gyaanibuddy@gmail.com
Write a program in C/C++/java/Python using UDP socket for Chat
This is 'UDP Chat' assignment of Computer Networks (SPPU TE SEM-5) - CS of Savitribai Phule Pune University - Gyaani Buddy
Prerequiiste
Theory
Imp_Ques
Please contribute here if you have a better answer!
This is python code for 'UDP Chat' assignment of Computer Networks (SPPU TE SEM-5) - CS of Savitribai Phule Pune University - Gyaani Buddy
# Client.py
import socket import os import threading class Client: def create(self): #self.ip = input("Enter the ip: ") self.ip = "127.0.0.1" self.port = 25000 self.c = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) print("Socket binded successfully") self.c.sendto(bytes('',"utf-8"), (self.ip, self.port)) self.chatWindow() def chatWindow(self): os.system("clear") print("Chat Messenger Client\n") threadS = threading.Thread(target = self.sender) threadR = threading.Thread(target = self.receiver) threadS.start() threadR.start() def sender(self): while True: msg = bytes(input(), "utf-8") self.c.sendto(msg, (self.ip, self.port)) def receiver(self): while True: msg, addr = self.c.recvfrom(1024) if("|||" in msg.decode("utf-8")): msg, addr = msg.decode("utf-8").split("|||") print("Message from " + str(addr) + ":" + str(msg)) else: print("Message from " + str(addr) + ": " + str(msg.decode("utf-8"))) if __name__=='__main__': client = Client() client.create() client.chatWindow()
#Server.py
import socket import os import threading class Server: clients=[] def create(self): self.s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) self.port = 25000 self.s.bind(('', self.port)) print("Socket binded to port: " + str(self.port)) self.chatWindow() return def sender(self): while True: msg = bytes(input(), "utf-8") for i in self.clients: self.s.sendto(msg,i) def receiver(self): while True: msg, self.addr = self.s.recvfrom(1024) if(self.addr not in self.clients): self.clients.append(self.addr) else: print("Message from " + str(self.addr) + ": " + str(msg.decode("utf-8"))) msg = str(msg.decode("utf-8")) msg = msg + "|||" + str(self.addr) for i in self.clients: if(i != self.addr): self.s.sendto(bytes(msg, "utf-8"), i) def chatWindow(self): print("Chat Messenger Server\n") threadS = threading.Thread(target = self.sender) threadR = threading.Thread(target = self.receiver) threadS.start() threadR.start() if __name__=='__main__': server = Server() server.create()
This is Java code for 'UDP Chat' assignment of Computer Networks (SPPU TE SEM-5) - CS of Savitribai Phule Pune University - Gyaani Buddy
//Client.java
import java.net.*; import java.io.*; import java.util.Scanner; public class Client{ public static void main (String args[]) { Scanner sc=new Scanner(System.in); String send,receive; try{ DatagramSocket dsoc=new DatagramSocket(9099); byte sbuf[]=new byte[1024]; byte rbuf[]=new byte[1024]; while(true){ System.out.print("Client: "); send=sc.nextLine(); sbuf=send.getBytes(); DatagramPacket spkg = new DatagramPacket(sbuf,sbuf.length,InetAddress.getByName("127.0.0.1"),10000); dsoc.send(spkg); DatagramPacket rpkg = new DatagramPacket(rbuf,rbuf.length); dsoc.receive(rpkg); System.out.print("\nServer: "+new String(rpkg.getData())+"\n"); for(int i=0;i<1024;i++){ rbuf[i] = '\0'; } } } catch(Exception e){System.out.println(e);} } }
//Server.java
import java.net.*; import java.io.*; import java.util.Scanner; public class Server{ public static void main (String args[]) { Scanner sc=new Scanner(System.in); String send,receive; try{ DatagramSocket dsoc=new DatagramSocket(10000); byte sbuf[]=new byte[1024]; byte rbuf[]=new byte[1024]; while(true){ DatagramPacket rpkg = new DatagramPacket(rbuf,rbuf.length); dsoc.receive(rpkg); System.out.print("Client: "+new String(rpkg.getData())+"\n"); for(int i=0;i<1024;i++){ rbuf[i] = '\0'; } System.out.print("\nServer: "); send=sc.nextLine(); sbuf=send.getBytes(); DatagramPacket spkg = new DatagramPacket(sbuf,sbuf.length,InetAddress.getByName("127.0.0.1"),9099); dsoc.send(spkg); } } catch(Exception e){System.out.println(e);} } }