Heim >Backend-Entwicklung >Python-Tutorial >Wie Python die clientseitige und serverseitige Datenübertragung implementiert (Code)

Wie Python die clientseitige und serverseitige Datenübertragung implementiert (Code)

不言
不言Original
2018-09-06 17:53:2530826Durchsuche

Der Inhalt dieses Artikels befasst sich mit der Implementierung der clientseitigen und serverseitigen Datenübertragung. Ich hoffe, dass er für Freunde hilfreich ist.

Client

def sock_client_data():
    while True:
        try:
            s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
            s.connect(('192.168.20.1', 6666))  #服务器和客户端在不同的系统或不同的主机下时使用的ip和端口,首先要查看服务器所在的系统网卡的ip
            # s.connect(('127.0.0.1', 6666))  #服务器和客户端都在一个系统下时使用的ip和端口
        except socket.error as msg:
            print(msg)
            print(sys.exit(1))
        data = input("input data:")   #输入要传输的数据
        s.send(data.encode())  #将要传输的数据编码发送,如果是字符数据就必须要编码发送
        s.close()
if __name__ == '__main__':
    sock_client_data()

Server

def socket_service_data():
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        s.bind(('127.0.0.1', 6666))  # 在同一台主机的ip下使用测试ip进行通信
        # s.bind(('192.168.20.1', 6666))  #在不同主机或者同一主机的不同系统下使用实际ip
        s.listen(10)
    except socket.error as msg:
        print(msg)
        sys.exit(1)

    print("Wait for Connection..................")

    while True:
        sock, addr = s.accept()
        buf = sock.recv(1024)  #接收数据
        buf = buf.decode()  #解码
        print("The data from " + str(addr[0]) + " is " + str(buf))
        print("Successfully")
        # return buf
        # sock.close()
if __name__ == '__main__':
    socket_service_data()

Laufergebnisse:

Client:

Wie Python die clientseitige und serverseitige Datenübertragung implementiert (Code)

Serverseite:

Wie Python die clientseitige und serverseitige Datenübertragung implementiert (Code)

Anweisungen:
1. Server und Client Duantong verwenden 127.0 .0.1 im selben System eines physischen Hosts. Der Port wird von selbst festgelegt, solange er nicht belegt ist. Überprüfen Sie unter dem Linux-System, ob der Port belegt ist nicht gefunden werden kann, beweisen Sie, dass der Port nicht belegt ist. Erstellen Sie zwei .py-Dateien, eine ist sender.py, in der das Client-Programm gespeichert ist, und die andere ist recieve.py, in der das Server-Programm gespeichert ist. Führen Sie zuerst das Server-Programm und dann das Client-Programm aus, nachdem die Verbindung hergestellt wurde Geben Sie die zu übertragenden Daten ein. Wenn Sie die übertragenen Daten auf dem Serverterminal sehen, ist die Übertragung erfolgreich.
2. Wenn sich Server und Client unter verschiedenen Systemen auf demselben physischen Host befinden, verwenden Sie die tatsächliche IP-Adresse des Serversystems. Geben Sie ifconfig im Linux-Terminal ein Sehen Sie sich die IP-Adresse an. Das Programm verwendet dieselbe IP und denselben Port und stellt die beiden Programme auf ihren jeweiligen Systemen bereit. Führen Sie dann das Programm auf der Serverseite aus, senden Sie Daten und warten Sie, bis der Server verfügbar ist. Nebendaten wurden erfolgreich empfangen.

Verwandte Empfehlungen:

Einfacher Dateiübertragungsserver und -client in Python implementiert

PHP-Bild-Upload-Client und -Server Implementierung beenden Methode,

Das obige ist der detaillierte Inhalt vonWie Python die clientseitige und serverseitige Datenübertragung implementiert (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

In Verbindung stehende Artikel

Mehr sehen