0% found this document useful (0 votes)
6 views

Socket Programming

Uploaded by

mckvie25
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

Socket Programming

Uploaded by

mckvie25
Copyright
© © All Rights Reserved
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 5

Assignment 3:

Server program -
import socket
import sys

s=socket.socket()
print("Socket created")

s.bind(('localhost',12345))
s.listen(5)
print("Listening")

while True:
print("Now accepting")
c, add = s.accept()
print("The IP adress is: ",add)
c.close
print("Closed")
break
Client Program -
import socket
import sys

sy=socket.socket()
sy.connect(('localhost',12345))
sy.close()

Assignment 4:- tcp client server echo program

Server program -
import socket
import sys
s = socket.socket()
print("Socket created")

s.bind(('localhost',12345))
s.listen(5)
print("Listening")

c,add = s.accept()
print("Clinet connected at: ",add)

while True:
print("Now accepting")
data = c.recv(1024)
if not data:
break
c.sendall(data)
print("The received massege is: ", data.decode())
c.close

Client program -
import socket
import sys

c=socket.socket()
c.connect(('localhost', 12345))
print("Server connected!")

while True:
massege = input().encode()
if not massege:
break
c.sendall(massege)
data = c.recv(1024)
if data.decode()=='exit':
break
print("Data received from server: ", data.decode())

Assignment 5- udp client server echo program

Server -
import socket
import sys
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
print("Socket created")

s.bind(('localhost',12345))

while True:
print("Now accepting")
data, add = s.recvfrom(1024)
if not data:
break
s.sendto(data, add)
print("The received massege is: ", data.decode())
s.close

Client -

import socket
import sys

c=socket.socket(socket.AF_INET, socket.SOCK_DGRAM)

while True:
massege = input().encode()
if not massege:
break
c.sendto(massege, ('localhost',12345)) # encode needed to transform string to
bytes
data, add = c.recvfrom(1024)
if data.decode()=='exit':
break
print("Data received from server: ", data.decode())

Assignment 11:

Multicast (Server):

import socket
group = '224.1.1.1'
port = 5004
# 2-hop restriction in network
ttl = 2
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_MULTICAST_TTL, ttl)
message = input().encode()
sock.sendto(message, (group, port))

Multicast (Client):

import socket
import struct
MCAST_GRP = '224.1.1.1'
MCAST_PORT = 5004
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)
sock.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
sock.bind(('', MCAST_PORT))
mreq = struct.pack("4sl", socket.inet_aton(MCAST_GRP), socket.INADDR_ANY)
sock.setsockopt(socket.IPPROTO_IP, socket.IP_ADD_MEMBERSHIP, mreq)
while True:
data = sock.recv(1024)
print(data.decode())
print(sock.recv(10240))

Assignment 12

Broadcast (Server):

import socket

server = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP)


server.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

message = b"your very important message"


while True:
server.sendto(message, ('<broadcast>', 37020))
print("message sent!")

Broadcast (Client):

import socket

client = socket.socket(socket.AF_INET, socket.SOCK_DGRAM, socket.IPPROTO_UDP) # UDP

client.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)

client.bind(("", 37020))
while True:
data, addr = client.recvfrom(1024)
data = data.decode()
print("received message: %s"%data)

Assignment 13:-

Server:

import socket
from _thread import *
import threading

print_lock = threading.Lock()

def threaded(c):
while True:
data = c.recv(1024)
print(data.decode('ascii'))
if not data:
print('Bye')
#print_lock.release()
break
data = input("Enter your message: ").encode('ascii')
c.send(data)
c.close()

def Main():
host = ""
port = 12345
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((host, port))
print("socket binded to port", port)
s.listen(5)
print("socket is listening")

while True:
s.listen(5)
c, addr = s.accept()
#print_lock.acquire()
print('Connected to :', addr[0], ':', addr[1])
start_new_thread(threaded, (c,))
s.close()

if __name__ == '__main__':
Main()

Client:

import socket

def Main():
host = '127.0.0.1'
port = 12345
s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
s.connect((host,port))
while True:
message = input("Enter your message: ")
s.send(message.encode('ascii'))
data = s.recv(1024)
print('Received from the server :',str(data.decode('ascii')))
ans = input('\nDo you want to continue(y/n) :')
if ans == 'y':
continue
else:
break
s.close()

if __name__ == '__main__':
Main()

You might also like