zoukankan      html  css  js  c++  java
  • 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)
    再次运行,一切正常。

  • 相关阅读:
    java-初始化和清理
    java-字符串
    java-I/O流
    java-反射和代理
    java-执行流程控制语句
    java-访问控制修饰符
    java-异常
    java-注解
    [ Java学习 ] 一道Java好题的详细题解 001
    [ Java学习 ] 查阅资料整理 002
  • 原文地址:https://www.cnblogs.com/Andy963/p/7521763.html
Copyright © 2011-2022 走看看