• python


    socket编程:

    Server端:

    import socket
    
    #创建服务端的scoket对象socket
    socket = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    host = '127.0.0.1'
    port = 1111
    #绑定地址
    socket.bind((host,port))
    #设置监听
    socket.listen(5)
    #等待客户端连接
    #注:accept()函数会返回一个元组
    #元素1为客户端的socket对象,元素2为客户端的地址(IP地址,端口号)
    clientscoket,addr = socket.accept()
    
    #while循环是为了让对话一直进行,知道客户端输入q
    while True:
        #接收客户端的请求
        recvmsg = clientscoket.recv(1024)
        #把接收到的数据进行解码
        strData = recvmsg.decode('utf-8')
        #判断客户端是否发送q,是就退出此次对话
        if strData == 'q':
            break
        print('收到:',strData)
        msg = input('回复:')
        clientscoket.send(msg.encode('utf-8'))
    socket.close()

    客户端:

    import socket
    #创建一个客户端的socket对象;使用给定的地址族、套接字类型、协议编号(默认为0)来创建套接字
    client = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    
    #设置服务端的ip地址
    host = '127.0.0.1'
    #设置端口
    port = 1111
    #连接服务端
    client.connect((host,port))
    
    #while循环是为了保证能持续进行对话
    while True:
        #输入发送的信息
        sendmsg = input('请输入:')
        #如果客户端的输入是q,则停止对话并退出程序
        if sendmsg =='q':
            break
        #发送数据,以二进制的形式发送数据,所以要进行编码
        client.send(sendmsg.encode('utf-8'))
        msg = client.recv(1024)
        #接收服务端返回的数据,需要解码
        print(msg.decode('utf-8'))
    
    #关闭客户端
    client.close()
  • 相关阅读:
    $('div div')和$('div >div')的区别
    [转]35岁前程序员要规划好的四件事,健康居首位
    程序员应该改变的20个思维习惯
    JQuery总结
    Javahome 与 Path 与ClassPath的含义
    jsp 位置
    访问 IIS 元数据库失败 权限问题
    xp添加文件夹写入权限
    dataset 对象
    js的一些代码
  • 原文地址:https://www.cnblogs.com/muzii/p/14207795.html
Copyright © 2020-2023  润新知