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

Python TCP/IP client in NAO robot

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

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 端的套接字没有关闭,我不知道为什么。而且我仍然无法发送图像。 你们能帮我完成这个任务吗?

顺便说一句,我是python

的新手

THX 虚拟机:)

我认为因为您需要以下这些步骤,所以这是客户端针对您的情况的一个选项:

  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()