NAO机器人中的Python TCP / IP客户端

时间:2016-11-22 12:45:31

标签: python image sockets tcp-ip nao-robot

今天我尝试在NAO机器人中创建一个TCP / IP客户端。我使用C#制作的服务器,它运行良好(尝试了很多次)。我的任务是在python中创建TCP / IP客户端,它可以发送图像(jpg),而不是其他任何东西。为了描述一个问题,我可以给你一个例子。我正在使用NAOs相机制作照片,我想使用TCP / IP协议发送此图像。我使用了很多"战术"但没有工作输出。我试过这段代码:

import socket
sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sckt.connect(("192.168.0.106",5000)) #server IP and port
fname = "image.jpg"
fileDir = "/home/nao/recordings/cameras/"
fname = fileDir + fname
nf = open(fname,'w')
nf.write(strng)
nf.close()
sckt.send(nf)
sckt.close()

运行此代码后,NAO方面的套接字无法关闭,我不明白为什么。我仍然无法发送图像。 你能帮助我完成这项任务吗?

BTW我是python的新手

THX VM:)

1 个答案:

答案 0 :(得分:0)

我认为,因为您需要以下步骤,因为这是客户端的一个选项:

  1. 打开文件并在缓冲区中读取
  2. 发送
  3. 关闭套接字
  4. 关闭文件

    import socket
    sckt = socket.socket(socket.AF_INET, socket.SOCK_STREAM) 
    sckt.connect(("192.168.0.106",5000)) #server IP and port
    fname = "image.jpg"
    fileDir = "/home/nao/recordings/cameras/"
    fname = fileDir + fname
    nf = open(fname,'r') # r-->rw if you want
    sckt.send(nf)
    sckt.close()
    nf.close()