server.py 跑不起来

来源:13-2 搭建服务基本框架

北极的森林

2021-04-10

我放在 Linux  Ubuntu 18.04.1 LTS (GNU/Linux 4.15.0-54-generic x86_64) 上跑

python 版本 3.6.9

结果是这个:

Traceback (most recent call last):
  File "server.py", line 43, in <module>
    server = Server()
  File "server.py", line 16, in __init__
    self.sock = socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)
  File "/usr/lib/python3.6/socket.py", line 144, in __init__
    _socket.socket.__init__(self, family, type, proto, fileno)
OSError: [Errno 93] Protocol not supported


请问是什么原因呢?



写回答

1回答

咚咚呛

2021-04-11

socket.socket(socket.AF_INET, socket.SOCK_RAW, socket.IPPROTO_IP)

改为:socket.socket(socket.AF_PACKET, socket.SOCK_RAW, socket.IPPROTO_IP)


socket编程是操作系统提供的功能,可能在Ubuntu18.04接口有了不同的改变,至于原理可以参考这篇文章:

https://segmentfault.com/a/1190000020103410

1
3
qq_慕后端2505779
回复
北极的森林
我也出现了同样的问题,请问是怎么解决的?
2021-08-14
共3条回复

(新版)计算机基础,计算机组成原理+操作系统+网络

编程之前先学这门课,系统补足计算机基础知识,夯实编程地基

7739 学习 · 1580 问题

查看课程