1

我正在尝试用 Python 编写一个简单的网络服务器,不幸的是,我遇到了让函数工作的简单障碍!

import os, socket

class serv:
    def __init__(self):
        self.host
        self.port = 'localhost', 58008
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.socket.bind((self.host, self.port)

    def send(self, msg):
        self.conn.send(msg + end)

    def run(self):
        self.socket.listen(1)
        self.conn
        self.addr = self.socket.accept()
        send(self, msg="Hello, world")

S = serv()
S.run()

此代码在函数调用 send 上给出以下错误:

File "server.py", line 10
def send(self, msg):
  ^
SyntaxError: invalid syntax

如果它有帮助(我相信它不会),我正在使用 Adafruit WebIDE 在 Raspberry Pi 上执行此操作。

4

2 回答 2

10

您之前忘记了该行中的右括号。

但是,一旦解析阶段幸存下来,您还会遇到其他错误。例如,您正在引用未定义的名称(这会给您NameErrors):self.hostself.conn.

于 2013-03-05T22:03:25.420 回答
0

所有关于右括号。下一行还不够:

self.socket.bind((self.host, self.port)
于 2013-03-06T03:16:47.163 回答