美文网首页
ROS入门-两台电脑tcp/ip通信(数组)

ROS入门-两台电脑tcp/ip通信(数组)

作者: joey_zhou | 来源:发表于2016-06-08 16:31 被阅读1093次

1. python-client端数据编写

-----------------------------------------------------
#!/usr/bin/python

import time
import socket
import json
import random

HOST='192.168.2.22'
PORT=8008
BUFFER=4096

soc=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
soc.connect((HOST,PORT))
while 1:
    time.sleep(0.1)
    m0=random.randint(0,25)
    m1=random.randint(0,25)
    m2=random.randint(0,25)
    m3=random.randint(0,55)
    m4=random.randint(0,55)
    m5=random.randint(0,55)
    m6=random.randint(0,255)
    m7=random.randint(0,255)
    m8=random.randint(0,255)
    m9=random.randint(0,255)
    mess=[m0,m1,m2,m3,m4,m5,m6,m7,m8,m9]
    #soc.send(json.dumps(mess))
    soc.send(str(mess))
    buf=soc.recv(BUFFER)
    print(buf)
soc.close()

2. python-server端程序编写

#!/usr/bin/python3

import socket
import json

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('192.168.2.22',8008))
s.listen(5)
print('Waiting for connection...')
sock, addr = s.accept()
while 1:
    sock.settimeout(5)
    recvdata=sock.recv(4096)
    #if语句判断是否有数据或者数据是否有中断
    #防止出现json-nodata错误,导致server程序中断
    if len(recvdata) !=0:
        buf=json.loads(recvdata)
        print(buf)
        sock.send('yes i recv')
    else:
        print('pass')
        sock.send('out off client')
    #数据中断时进行服务重启程序,先close 再accept等待重新连线
    #可以防止出现当client意外终止导致server的中断(Broken pipe错误)
        sock.close()
        sock, addr = s.accept()
    #sock.send('yes')
sock.close()

3. 程序运行

python clien.py
python server.p

相关文章

  • ROS入门-两台电脑tcp/ip通信(数组)

    1. python-client端数据编写 2. python-server端程序编写 3. 程序运行 pytho...

  • java 网络编程

    1、两台计算机要进行通信需要以下三个条件:IP地址,协议,端口号2、TCP/IP协议tcp/ip:Transmis...

  • HTTP和HTTPS详解

    计算机通信原理 互联网的关键技术就是TCP/IP协议。两台计算机之间的通信是通过TCP/IP协议在因特网上进行的。...

  • IOS 网络协议浅析

    转载:iOS网络协议----HTTP/TCP/IP浅析 一、TCP/IP协议 话说两台电脑要通讯就必须遵守共同的规...

  • iOS-10 网络协议

    转载:iOS网络协议----HTTP/TCP/IP浅析 一、TCP/IP协议 话说两台电脑要通讯就必须遵守共同的规...

  • TCP/IP概述和原理

    更多内容请移步个人站:YKBLog.top TCP/IP协议说明 两台计算机之间的通信是通过TCP/IP协议在因特...

  • ROS入门-python下两台电脑的socket通信

    python下两台电脑的socket通信,及将主机收到数据做ROS主题形式发布,远程电脑通过wifi订阅发布数据 ...

  • TCP的三次握手和四次挥手

    一、什么是 TCP/IP 协议 TCP/IP 是用于因特网 (Internet) 的通信协议。TCP/IP 通信协...

  • C1 了解Web及网络基础

    KeyWords: 诞生,网络基础TCP/IP,TCP/IP协议族,TCP/IP的分层管理,TCP/IP通信传输流...

  • 你需要知道的TCP/IP

    前言 TCP/IP 协议 是网络通信的基石,TCP/IP 协议 不是只有 TCP 和 IP 协议,它是整个网络通信...

网友评论

      本文标题:ROS入门-两台电脑tcp/ip通信(数组)

      本文链接:https://www.haomeiwen.com/subject/euyzrttx.html