套接字错误Python

时间:2018-07-16 07:17:04

标签: python sockets

我有以下代码,我无法观察到服务器和接收器客户端的行为,因为客户端发送者连续弹出错误。我该如何处理?

Error: An existing connection is forced to shut down by a remote computer

客户发件人

 import socket
 import sys
 serverName = 'localhost'
 serverPort = 12000
 while True:
     with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
         s.connect((serverName, serverPort))
         f = open("sentfile.txt")
         l = f.read(2097152)
         while(l):
             l_bytes = bytes(l, "utf-8")
             s.sendall(l_bytes)

服务器

import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind(('localhost', 12000))
    s.listen(1)
    print ("The server is ready")
    conn, addr = s.accept()
    with conn:
        print('Connected by ', addr)
        while True:
            data = conn.recv(2097152)
            with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as p:
                 p.bind(('localhost', 1000))
                 conn2, addr2 = p.accept()
                 with conn2:
                    conn2.sendall(data)

客户接收器

import socket
with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as s:
    s.bind(('localhost', 1000))
    s.listen(1)
    conn, addr = s.accept()
    with conn:
        while True:
            f = open('receivedfile.txt', 'ba')
            data = connRev(2097152)
            f.write(data)
            f.close()

1 个答案:

答案 0 :(得分:0)

首先,您必须导入Socket模块。然后使用功能getaddrinfo()