0

今天我尝试在NAO机器人中制作一个TCP/IP客户端。我使用用 C# 制作的服务器,它运行良好(尝试了很多次)。我的任务是在 python 中制作 TCP/IP 客户端,它可以发送一个 Image(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 端的套接字没有关闭,我不知道为什么。我仍然无法发送图像。你们能帮我完成这个任务吗?

顺便说一句,我是 python 的新手

THX 虚拟机 :)

4

1 回答 1

1

我认为因为您需要以下这些步骤,所以这是您的案例在客户端的一种选择:

  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()
    
于 2016-12-05T19:30:22.937 回答