我被告知了几个定义,在维基百科上看,但作为Java的初学者,我仍然不确定它的含义.有流利的Java和白痴吗?
以下代码给出了一个未定义的全局名称错误,但据我所知,该名称已定义.我是Python的新手,这是一个范围问题吗?
import os, socket
from threading import Thread
class serv:
def __init__(self):
self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
self.socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
self.socket.bind(('', 443))
def run(self):
self.socket.listen(10)
print "Listening"
self.conn, self.addr = self.socket.accept()
try:
Thread(target=clientThread, args=(self.conn,)).start()
except Exception, errtxt:
print errtxt
def exit(self):
print "Disconnected"
self.conn.close()
def clientThread(conn):
print "Connected"
while 1:
conn.send("Hello, worlds!\n")
S = serv()
S.run()
Run Code Online (Sandbox Code Playgroud)
具体错误是
global name 'clientThread' is not defined
Run Code Online (Sandbox Code Playgroud) 我正在尝试用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()
Run Code Online (Sandbox Code Playgroud)
此代码在函数调用send上给出以下错误:
File "server.py", line 10
def send(self, msg):
^
SyntaxError: invalid syntax
Run Code Online (Sandbox Code Playgroud)
如果它有帮助(我确定它不会),我在使用Adafruit WebIDE的Raspberry Pi上做这个.