zoukankan      html  css  js  c++  java
  • python3的socket使用

    如果需要设置两台机器的端口,请查看博文 centos7开放端口和防火墙设置

    需要实现两台机器的信息交互,使用 socket 进行调度。其中服务端为:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import socket
    
    # 服务端ip
    server_address = ('192.168.229.129',10000)
    # 客户端ip
    client_address = ("192.168.229.130",10000)
    s = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    
    s.bind(server_address)
    while 1:
        data,addr=s.recvfrom(2048)
        if not data:
            break
        print("got data from",addr)
        print(data.decode())
        replydata = input("reply:")
        s.sendto(replydata.encode("utf-8"),client_address)
    s.close()
    

    客户端为:

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    import socket
    
    # 服务端ip
    server_address = ('192.168.229.129',10000)
    # 客户端ip
    client_address = ("192.168.229.130",10000)
    
    s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
    s.bind(client_address)
    while 1:
        data = input("input:")
        if not data:
            break
        s.sendto(data.encode("utf-8"), server_address)
    
        recivedata, addrg = s.recvfrom(2048)
        if recivedata:
            print("from:", addrg)
            print("got recive :", recivedata.decode())
    s.close()
    

    启动过后如下所示:

    客户端发送:

    input:hello world
    from: ('192.168.229.129', 10000)
    got recive : my name is server
    input:my name is client,hahaha
    from: ('192.168.229.129', 10000)
    got recive : woca
    

    服务端接收:

    got data from ('192.168.229.130', 10000)
    hello world
    reply:my name is server
    got data from ('192.168.229.130', 10000)
    my name is client,hahaha
    reply:woca
    
  • 相关阅读:
    java 8 lambda函数
    java nio和io
    jetty xml解析
    使用spring框架时,使用xml还是注解
    tcp/ip基础知识
    http的session和cookie
    html相关
    form之action的绝对路径与相对路径(转载)
    MariaDB 10 (MySQL DB) 多主复制并实现读写分离
    牛刀小试MySQL学习—MySQL 双主
  • 原文地址:https://www.cnblogs.com/TTyb/p/9871697.html
Copyright © 2011-2022 走看看