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
    
  • 相关阅读:
    修改linux命令行提示符颜色
    passwd命令
    用户与用户组
    计划任务
    sed简单用法
    sed命令实现对文件内容的添加
    C#颜色选择器的调用操作
    插入排序算法的学习
    二叉树的学习记录
    判断两个单链表是否相交及相交的第一个节点
  • 原文地址:https://www.cnblogs.com/TTyb/p/9871697.html
Copyright © 2011-2022 走看看