Home >Backend Development >Python Tutorial >How python implements client-side and server-side data transmission (code)

How python implements client-side and server-side data transmission (code)

不言
不言Original
2018-09-06 17:53:2530865browse

The content of this article is about how Python implements client-side and server-side data transmission. It has certain reference value. Friends in need can refer to it. I hope it will be helpful to you.

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()

Run result:

Client:

How python implements client-side and server-side data transmission (code)

Server side:

How python implements client-side and server-side data transmission (code)

##Instructions:

1. Server and client Duantong uses 127.0.0.1 in the same system of a physical host. The port is set by itself, as long as it is not occupied. Under the Linux system, check whether the port is occupied with the command sudo netstat -nap | grep 6666. If the port cannot be found, prove the port. Not occupied. Create two .py files, one is sender.py, which stores the client program, and the other is recieve.py, which stores the server program. Run the server program first, then run the client program after the connection is successful, and enter the data to be transmitted. , when you see the transmitted data on the server terminal, the transmission is successful.
2. If the server and client are in different systems on the same physical host, use the actual IP address of the server system. The author uses Windows as the client and Linux as the server. Enter ifconfig in the Linux terminal to view the IP address. Two The program uses the same IP and port, and deploys the two programs to their respective systems. First, run the server-side program, then run the client-side program, send data, and wait until the server-side data is successfully received.

Related recommendations:

Simple file transfer server and client implemented in Python

php image upload client and server End implementation method,

The above is the detailed content of How python implements client-side and server-side data transmission (code). For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Related articles

See more