描述:
server_socket监听, client_socket发送请求
代码:
### 1. server.py
# -*- coding: utf-8 -*-
import socket
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname()
print('host:', host)
port = 8001
server_socket.bind((host, port))
server_socket.listen(10)
print('server_socket:', server_socket)
while True:
client_socket, addr = server_socket.accept()
print('client_socket:', client_socket)
print('addr:', addr)
msg = 'hello world!'
client_socket.send(msg.encode('utf-8'))
client_socket.close()
#########################################3
# 2. client.py
# -*- coding: utf-8 -*-
import socket
client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
host = socket.gethostname()
port = 8001
client_socket.connect((host, port))
msg = client_socket.recv(1024)
client_socket.close()
print('msg:', msg.decode('utf-8'))
输出:
1. server端:
host: <机器名称>
server_socket: <socket.socket fd=292, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('169.254.226.247', 8001)>
client_socket: <socket.socket fd=356, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('169.254.226.247', 8001), raddr=('169.254.226.247', 11018)>
addr: ('169.254.226.247', 11018)
client_socket: <socket.socket fd=356, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('169.254.226.247', 8001), raddr=('169.254.226.247', 11023)>
addr: ('169.254.226.247', 11023)
client_socket: <socket.socket fd=356, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('169.254.226.247', 8001), raddr=('169.254.226.247', 11024)>
addr: ('169.254.226.247', 11024)
client_socket: <socket.socket fd=372, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('169.254.226.247', 8001), raddr=('169.254.226.247', 11025)>
addr: ('169.254.226.247', 11025)
client_socket: <socket.socket fd=348, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('169.254.226.247', 8001), raddr=('169.254.226.247', 11026)>
addr: ('169.254.226.247', 11026)
client_socket: <socket.socket fd=376, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('169.254.226.247', 8001), raddr=('169.254.226.247', 11027)>
addr: ('169.254.226.247', 11027)
2. client端
msg: hello world!