Python:socket
Connection test
import socket
import re
import sys
def check_server(address, port):
# Create a TCP socket
s = socket.socket()
print "Attempting to connect to %s on port %s" % (address, port)
try:
s.connect((address, port))
print "Connected to %s on port %s" % (address, port)
return True
except socket.error, e:
print "Connection to %s on port %s failed: %s" % (address, port, e)
return False
finally:
s.close()
Simple Echo Server
서버 코드:
import socket
def run_server(host="127.0.0.1", port=4000):
with socket.socket() as s:
s.bind((host, port))
s.listen(1)
conn, addr = s.accept()
msg = conn.recv(1024)
print(f'{msg.decode()}')
conn.sendall(msg)
conn.close()
if __name__ == '__main__':
run_server()
클라이언트 코드:
'''echo_client1.py'''
import socket
def run(host='127.0.0.1', port=4000):
with socket.socket() as s:
s.connect((host, port))
line = input('>')
s.sendall(line.encode())
res = s.recv(1024)
print(f'={resp.decode()}')
if __name__ == '__main__':
run()
NIC 목록 출력
Python >= 3.3: