w3cshcool 上面的 Python 网络编程 例子可以调整一下,能跑过。主要是服务器端的 c.send('欢迎访问W3Cschool教程!') 改为 c.send( b'hello python socket')即可。不能传字符串。就这个例子而言,无关防火墙,代理。一定是代码错了。
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:server.py
import socket # 导入 socket 模块
s = socket.socket() # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345 # 设置端口
s.bind((host, port)) # 绑定端口
s.listen(5) # 等待客户端连接
while True:
c, addr = s.accept() # 建立客户端连接。
print ('连接地址:', addr)
c.send( b'hello python socket')
c.close() # 关闭连接
--------------------------------------上面是服务器端,下面是客户端-----------------------------------------------
#!/usr/bin/python
# -*- coding: UTF-8 -*-
# 文件名:client.py
import socket # 导入 socket 模块
s = socket.socket() # 创建 socket 对象
host = socket.gethostname() # 获取本地主机名
port = 12345 # 设置端口好
s.connect((host, port))
print (s.recv(1024))
s.close()