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()

更多推荐