我正在开发一个tcp客户端-服务器python套接字程序,在该程序中,我编写了服务器代码以向客户端发送一条简单消息。但是,当我在python空闲状态下运行服务器端时,出现invlalid语法错误,并且在python版本上出现红色标记。我不知道问题出在哪儿,感谢您在这项具体工作上的帮助。发生错误的图片:
我的代码:
服务器:
import sys
from socket import *
serverSocket = socket(AF_INET,SOCK_STREAM)
serverSocket.bind(('localhost',1234))
serverSocket.listen()
data = "Network labs"
while 1 :
connectionSocket ,addr = serverSocket.accept()
connectionSocket.send(data)
connectionSocket.close()
客户:
import sys
from socket import *
clientSocket = socket(AF_INET,SOCK_STREAM)
server_address=('localhost',1234)
clientSocket.connect(server_address)
sentence = clientSocket.recv(1024)
print(sentence)
clientSocket.close()
您尝试运行shell会话的日志,并以非代码启动消息文本和非代码提示符作为python代码完成。但是会话日志不是python代码。 “ Python”可能是,但是“ Python 3”不是有效的代码,因此python报告了SyntaxError。这与从IDLE编辑器运行代码无关。如果从命令行或任何其他可识别python的编辑器或IDE运行server.py,则将看到相同的内容。
要运行server.py,您必须删除非代码部分-启动消息和提示。通常,您还必须删除输出,但是您的示例中没有输出。所以你应该以
结尾import sys
from socked import *
...
换句话说,是您在问题中列出的清理后的服务器代码,而不是您在屏幕截图中为获取错误消息而运行的代码。