Python Forum
Socket Programming Help
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Socket Programming Help
#1
Hello can someone help me with this task, I am currently learning python but can not solve that kind of problem which is given at the lesson as hw.



Suppose you have 5 clients & 1 server. All clients have unique IP & the same port and server has its own IP & port number. All connections are established by using Server IP & server port.no & Client IP & client port.no.

Your task is to implement the program which calculates this on all clients sides.
X=y+z
Y=a+b you have to define a,b,c,d
Z=c*d
Then server after receiving all answers from clients, will calculate & show output result
5
A=Σ(Xi)
I=1
You also must show time to calculate & compare serial and
parallel cases



Reply
#2
What have you tried?
Reply
#3
I have got just one server and client side connection.
Basically it works, but he wants 5 client and all of them must work parallel and they should make the those calculations above.

[Image: bVEaXb.png]';" src="[Image: bVEaXb.png]" alt="İmage" id="maximage" title="Click Photo To Enlarge">


import socket

def server_program():
    # get the hostname
    host = socket.gethostname()
    port = 5000  # initiate port no above 1024

    server_socket = socket.socket()  # get instance
    # look closely. The bind() function takes tuple as argument
    server_socket.bind((host, port))  # bind host address and port together

    # configure how many client the server can listen simultaneously
    server_socket.listen(2)
    conn, address = server_socket.accept()  # accept new connection
    print("Connection from: " + str(address))
    while True:
        # receive data stream. it won't accept data packet greater than 1024 bytes
        data = conn.recv(1024).decode()
        if not data:
            # if data is not received break
            break
        print("from connected user: " + str(data))
        data = input(' -> ')
        conn.send(data.encode())  # send data to the client

    conn.close()  # close the connection


if __name__ == '__main__':
    server_program()
else:
    pass
import socket

def client_program():
    host = socket.gethostname()  # as both code is running on same pc
    port = 5000  # socket server port number

    client_socket = socket.socket()  # instantiate
    client_socket.connect((host, port))  # connect to the server

    message = input(" -> ")  # take input

    while message.lower().strip() != 'bye':
        client_socket.send(message.encode())  # send message
        data = client_socket.recv(1024).decode()  # receive response

        print('Received from server: ' + data)  # show in terminal

        message = input(" -> ")  # again take input

    client_socket.close()  # close the connection


if __name__ == '__main__':
    client_program()
Reply
#4
(Feb-18-2019, 06:43 PM)micseydel Wrote: What have you tried?

Any idea , help ? I am not so good at programming , currently I am learning python3 and I am new at this topics.
Some code found on internet , they work tried. But not enough. Can you help ?
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Verilog HDL Programming to Python Programming? noobcoder 1 2,986 Jul-18-2019, 09:28 PM
Last Post: nilamo

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020