套接字服务器//不工作
Socket Server//Not working
这是我在 Python 中创建的套接字服务器,但是当我 运行 它时,它会突出显示 threaded_client 中的 while 循环并出现一个警告框。它说 'invalid syntax'。谁能告诉我发生了什么事。此外,当我注释掉任何内容时,错误只会移到下一行。这是代码:
import socket
import sys
from _thread import *
host = ''
port = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind((host, port))
except socket.error as e:
print(str(e))
s.listen(5)
print('Waiting...')
def threaded_client(conn):
conn.send(str.encode('TYPE HERE\n')
while True:
data = conn.recv(2048)
reply = 'Server output: '+ data.decode('utf-8')
if not data:
break
conn.sendall(str.encode(reply))
conn.close()
while True:
conn, addr = s.accept()
print('Connected to: '+addr[0]+':'+str(addr[1]))
start_new_thread(threaded_client,(conn,)
您缺少括号
from thread import *
import socket
import sys
host = ''
port = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind((host, port))
except socket.error as e:
print(str(e))
s.listen(5)
print('Waiting...')
def threadedClient(conn):
conn.send(str.encode("Type Here\n"))
while True:
data = conn.recv(2048)
reply = 'Server output: '+ data.decode('utf-8')
if not data:
break
conn.sendall(str.encode(reply))
conn.close()
while True:
conn, addr = s.accept()
print('Connected to: '+addr[0]+':'+str(addr[1]))
start_new_thread(threaded_client,(conn,))
这是我在 Python 中创建的套接字服务器,但是当我 运行 它时,它会突出显示 threaded_client 中的 while 循环并出现一个警告框。它说 'invalid syntax'。谁能告诉我发生了什么事。此外,当我注释掉任何内容时,错误只会移到下一行。这是代码:
import socket
import sys
from _thread import *
host = ''
port = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind((host, port))
except socket.error as e:
print(str(e))
s.listen(5)
print('Waiting...')
def threaded_client(conn):
conn.send(str.encode('TYPE HERE\n')
while True:
data = conn.recv(2048)
reply = 'Server output: '+ data.decode('utf-8')
if not data:
break
conn.sendall(str.encode(reply))
conn.close()
while True:
conn, addr = s.accept()
print('Connected to: '+addr[0]+':'+str(addr[1]))
start_new_thread(threaded_client,(conn,)
您缺少括号
from thread import *
import socket
import sys
host = ''
port = 5555
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
try:
s.bind((host, port))
except socket.error as e:
print(str(e))
s.listen(5)
print('Waiting...')
def threadedClient(conn):
conn.send(str.encode("Type Here\n"))
while True:
data = conn.recv(2048)
reply = 'Server output: '+ data.decode('utf-8')
if not data:
break
conn.sendall(str.encode(reply))
conn.close()
while True:
conn, addr = s.accept()
print('Connected to: '+addr[0]+':'+str(addr[1]))
start_new_thread(threaded_client,(conn,))