server.py
#!/usr/bin/env python
#coding:utf-8
#Created by Andy @ 2017/9/14
import socket
BUFSIZE = 1024
ip_port = ('127.0.0.1', 9000)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM )
s.bind(ip_port)
s.listen(5)
client, client_addr = s.accept()
print(client, client_addr)
msg = s.recv(BUFSIZE)
print(msg, type(msg))
client.send(msg.upper())
client.close()
s.close()
client.py
#!/usr/bin/env python
#coding:utf-8
#Created by Andy @ 2017/9/14
import socket
BUFSIZE = 1024
ip_port = ('127.0.0.1', 9000)
client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect(ip_port)
client.send('Andy is here'.encode('utf-8'))
feedback = client.recv(BUFSIZE)
print(feedback.decode('utf-8'))
client.close()
運行后:

可以看到問題出在s.recv(BUFSIZE)
原因就在於這里的s是服務端的套接字,而這樣導致的結果是:s沒有與client連接,只需要改成:msg = client.recv(BUFSIZE)
再次運行,一切正常。
