问答详情
源自:2-3 网络套接字与通信过程

完全按视频代码写无法通信

也没有报错什么的,服务端接收不到客户端的消息

提问者:口渴的時候喝可樂 2020-05-19 12:09

个回答

  • 代码好简单
    2020-06-07 10:19:34

    http://img1.mukewang.com/5edc4e9900018da216300947.jpg大概就是这样,如果先运行客户端,会提示目标地址被拒绝什么的

  • 代码好简单
    2020-06-07 10:18:12

    我是用code写的 一开始也不行发现是漏了s.bind((HOST,PORT)),后来运行不行。然后是:先运行服务端,让他在shift+enter 在code右边出来的一个框里运行,然后在选择客户端直接点小三角运行,在下面框里运行,这个时候可以的。研究了一下,大概意思就是因为是死循环的不能在一个终端里运行两个文件,现在左边运行服务器,然后找个终端在运行客户端就行了

  • 小鱼儿9785113
    2020-05-30 20:54:39

    server.py

    import socket
    
    def server():
        # 1.Create
        s = socket.socket()
        # 2.bind
        HOST = '127.0.0.1'
        PORT = 6666
        s.bind((HOST,PORT))
        # 3.listen
        s.listen(5)
        # 4.process
        while True:
            c, addr = s.accept()
            print('Connect client: ', addr)
            msg = c.recv(1024)
            print('From client: %s' % msg)
            c.send(msg)
            pass
    
    if __name__ == '__main__':
        server()

    client.py

    import socket
    
    def client():
        # 1. Create
        s = socket.socket()
        # 2. link
        HOST = '127.0.0.1'
        PORT = 6666
        s.connect((HOST, PORT))
        # 3. process
        s.send(b'Hello World!')
        msg = s.recv(1024)
        print('From server: %s' % msg)
    
    if __name__ == '__main__':
        client()

    emm, 这是我的,可以正常接受呢,要不你试试这个代码?