• python-socket


    基于c++的socket编程可以看我以前博客的socket编程系列,地址
    这里就简单介绍继续python的socket编程
    编写tcp时一般会用到的socket模块,其方法包括:
    connect(address):连接远程计算机
    send(bytes[,flags]):发送数据
    recv(bufsize[,flags]):接收数据
    bind(address):绑定地址
    listen(backlog):开始监听,等待客户端连接
    accept():响应客户端的一个请求,接受一个连接

    server.py

    import socket  # 导入 socket 模块
    import sys
    
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)  # 创建 socket 对象
    host = "127.0.0.1"
    port = 12345  # 设置端口
    s.bind((host, port))  # 绑定端口
    print("listening at port:",port)
    s.listen(1)
    conn,addr = s.accept()
    i = 5
    while True:
        print("waiting for connection...")
        print("Connect by:",addr)
        i = i - 1
        while i == 0 :
            print("等待5次连接失败!")
            sys.exit()
        while True:
            data = conn.recv(1024)
            data = data.decode()
            if not data:
                break
            print("recv message:",data)
            datasend = input(">")
            conn.sendall(datasend.encode())
        if(data=="bye"):
            conn.close()
            s.close()
    

    client.py

    import socket,sys
    HOST = "127.0.0.1"
    PORT = 12345
    s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    s.connect((HOST,PORT))
    while True:
        datasend = input(">")
        if not datasend:
            break
        s.sendall(datasend.encode())
        datarecv = s.recv(1024)
        if not datarecv:
            break
        print("recv data:",datarecv.decode())
    s.close()
    

  • 相关阅读:
    P2319 [HNOI2006]超级英雄
    P4302 [SCOI2003]字符串折叠
    P1122 最大子树和
    HDU——2089 不要62
    P4555 最长双回文串
    P1463 [HAOI2007]反素数
    P2412 查单词
    P2787 语文1(chin1)- 理理思维
    P3078 [USACO13MAR]扑克牌型Poker Hands
    ubuntu中desktop与alternate版本的区别(转载)
  • 原文地址:https://www.cnblogs.com/yicunyiye/p/13944261.html
Copyright © 2020-2023  润新知