Created
September 18, 2016 15:07
-
-
Save Integralist/3f004c3594bbf8431c15ed6db15809ae to your computer and use it in GitHub Desktop.
Python TCP Client Server Example
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import socket | |
hostname, sld, tld, port = 'www', 'integralist', 'co.uk', 80 | |
target = '{}.{}.{}'.format(hostname, sld, tld) | |
# create an ipv4 (AF_INET) socket object using the tcp protocol (SOCK_STREAM) | |
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | |
# connect the client | |
# client.connect((target, port)) | |
client.connect(('0.0.0.0', 9999)) | |
# send some data (in this case a HTTP GET request) | |
client.send('GET /index.html HTTP/1.1\r\nHost: {}.{}\r\n\r\n'.format(sld, tld)) | |
# receive the response data (4096 is recommended buffer size) | |
response = client.recv(4096) | |
print response |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import socket | |
import threading | |
bind_ip = '0.0.0.0' | |
bind_port = 9999 | |
server = socket.socket(socket.AF_INET, socket.SOCK_STREAM) | |
server.bind((bind_ip, bind_port)) | |
server.listen(5) # max backlog of connections | |
print 'Listening on {}:{}'.format(bind_ip, bind_port) | |
def handle_client_connection(client_socket): | |
request = client_socket.recv(1024) | |
print 'Received {}'.format(request) | |
client_socket.send('ACK!') | |
client_socket.close() | |
while True: | |
client_sock, address = server.accept() | |
print 'Accepted connection from {}:{}'.format(address[0], address[1]) | |
client_handler = threading.Thread( | |
target=handle_client_connection, | |
args=(client_sock,) # without comma you'd get a... TypeError: handle_client_connection() argument after * must be a sequence, not _socketobject | |
) | |
client_handler.start() |
The socket will start listening on the port for incoming tcp connection requests, server.accept() will finish executing once it establishes a new connection with a client
how server computer get the message in cmd when client send the text to server computer
i have client computer and server computer which are connected with LAN cable. client computer has client.py file and server computer has server.py file when i am running the files in both computer then my client computer sending the text message to server computer that is good. But i want that when i run the client program the server computer get the text message in a pop box or in cmd (means i dont want to run separately server.py file in server computer it will automaitcally run when i run the client.py file) how i can do this.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
can anybody please explain what is going on this line of code? : " client_sock, address = server.accept() "
How the server accepting both the variables client and socket?