Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sockets/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python s.recv()返回空字符串_Python_Sockets_Server - Fatal编程技术网

Python s.recv()返回空字符串

Python s.recv()返回空字符串,python,sockets,server,Python,Sockets,Server,我在在线教程中找到了一个简单的客户端和服务器 当我运行client.py时,它所做的就是在应该打印的时候打印一个空字符串(“感谢您的连接”)。当我从telnet连接localhost 12345时,它会很好地发送消息,所以我不知道为什么我的客户端没有收到消息 任何想法。我对socket编程非常陌生,希望找到一个解决方案,以便继续。按原样运行脚本时,我遇到以下错误: Waiting connections ... Got connection from ('127.0.0.1', 63875

我在在线教程中找到了一个简单的客户端和服务器




当我运行c
lient.py时,它所做的就是在应该打印的时候打印一个空字符串(“感谢您的连接”)。当我从telnet连接localhost 12345时,它会很好地发送消息,所以我不知道为什么我的客户端没有收到消息


任何想法。我对socket编程非常陌生,希望找到一个解决方案,以便继续。

按原样运行脚本时,我遇到以下错误:

Waiting connections ...
Got connection from ('127.0.0.1', 63875)
Traceback (most recent call last):
  File "serv.py", line 14, in <module>
    c.send('Thank you for connecting')
TypeError: a bytes-like object is required, not 'str'
  • 另外,像这样声明套接字
    s
    也很有用:

    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
    
  • 进一步案文:

    • Py2:
    • Py3:

    希望它能起作用!:)

    我无法再现你的处境。代码对我来说就像预期的那样工作。你使用的是什么版本的Python?我使用的是2.7.14我假设教程使用的是2而不是3,因为打印不是函数调用。您使用的是什么版本?我无法在Linux上使用Python 2.7.13生成上述行为。顺便说一句-由于缺少
    ()
    ,您的客户端在关闭套接字时没有关闭。感谢您的回复,不幸的是,问题与以前相同。我只是得到一个空字符串回来。而且我从来没有收到过你收到的错误信息。我开始认为这个问题与代码无关。
    Waiting connections ...
    Got connection from ('127.0.0.1', 63875)
    Traceback (most recent call last):
      File "serv.py", line 14, in <module>
        c.send('Thank you for connecting')
    TypeError: a bytes-like object is required, not 'str'
    
    c.send(b'Thank you for connecting')
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)