服务端

#!/usr/bin/python
import socket
import sys
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")

        print("Successfully")
        # return buf
        # sock.close()
if __name__ == '__main__':
    socket_service_data()

客户端

#!/usr/bin/python
import socket
import sys
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)
            #sys.exit(1)
            print(sys.exit(1))

        data = input("input data:")   #输入要传输的数据

        s.send(data.encode())  #将要传输的数据编码发送,如果是字符数据就必须要编码发送
        print("--------send----------")
        s.close()
        print("--------close----------")
if __name__ == '__main__':
    sock_client_data()

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐