• socket 错误之:OSError: [WinError 10057] 由于套接字没有连接并且(当使用一个 sendto 调用发送数据报套接字时)没有提供地址,发送或接收数据的请求没有被接受。


    server.py

    #!/usr/bin/env python
    #coding:utf-8
    #Created by Andy @ 2017/9/14
    
    
    import socket
    
    BUFSIZE = 1024
    ip_port = ('127.0.0.1', 9000)
    
    s = socket.socket(socket.AF_INET, socket.SOCK_STREAM )
    s.bind(ip_port)
    s.listen(5)
    
    client, client_addr = s.accept()
    print(client, client_addr)
    
    msg = s.recv(BUFSIZE)
    
    print(msg, type(msg))
    
    client.send(msg.upper())
    
    client.close()
    s.close()
    

    client.py

    #!/usr/bin/env python
    #coding:utf-8
    #Created by Andy @ 2017/9/14
    
    
    import socket
    
    BUFSIZE = 1024
    ip_port = ('127.0.0.1', 9000)
    
    client = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    
    client.connect(ip_port)
    client.send('Andy is here'.encode('utf-8'))
    feedback = client.recv(BUFSIZE)
    print(feedback.decode('utf-8'))
    client.close()
    

     运行后:

    可以看到问题出在s.recv(BUFSIZE)

    原因就在于这里的s是服务端的套接字,而这样导致的结果是:s没有与client连接,只需要改成:msg = client.recv(BUFSIZE)
    再次运行,一切正常。

  • 相关阅读:
    python函数内容
    python读写csv文件
    python正则表达式
    python使用MYSQL数据库
    python简单面试题
    python执行cmd命令
    python详解json模块
    我的自动化测试之路
    测试开发这一年
    招聘测试人员,我在面试什么?
  • 原文地址:https://www.cnblogs.com/Andy963/p/7521763.html
Copyright © 2020-2023  润新知