zoukankan      html  css  js  c++  java
  • ROS入门(四) Python版连接TCP/IP

    本程序原是另一个大神,冬木远景

    参考http://www.rosclub.cn/post-706.html文章写得TCP/IP的读写。

    这个程序主要是通过python程序的socket函数来建立连接,

    socket函数的官方说明:https://docs.python.org/3/library/socket.html

    socket的基本通讯,开启流程如下:

    那我们就先来创建一个socket服务端:

    import socket
    
    sk = socket.socket()
    sk.bind(("127.0.0.1",8080))
    sk.listen(5)
    
    conn,address = sk.accept()
    sk.sendall(bytes("Hello world",encoding="utf-8"))

    这里是创建一个127.0.0.1:8080的服务端。

    而sk.sendall(string[,flag])是将string中的数据发送到连接的套接字,但在返回之前会尝试发送所有数据。成功返回None,失败则抛出异常。

    内部通过递归调用send,将所有内容发送出去。

    那我们后面写一个客户端:

    import socket
    
    obj = socket.socket()
    obj.connect(("127.0.0.1",8080))
    
    ret = str(obj.recv(1024),encoding="utf-8")
    print(ret)

    这里是连接一个127.0.0.1:8080的客户端,而obj.recv(1024)表示接受1024个字节的传递信息。

    sk.recv(bufsize[,flag])接受套接字的数据。数据以字符串形式返回,bufsize指定最多可以接收的数量。flag提供有关消息的其他信息,通常可以忽略。

    如果想要在ros平台使用的话。可以直接在里面夹杂着这段TCP/IP的代码。这样就可以编译啦。

    具体可以参考网站:https://www.cnblogs.com/aylin/p/5572104.html

  • 相关阅读:
    LINUX和git
    drf [Django REST Framework]
    python用法小技巧
    爬虫
    django入门到精通
    前端框架
    mysql数据库
    网络编程和并发编程
    面向对象
    python基础
  • 原文地址:https://www.cnblogs.com/TIANHUAHUA/p/8352068.html
Copyright © 2011-2022 走看看