Skip to content

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:

import socket
socket.if_nameindex()

See also

Favorite site