NAO-rob中的Python-TCP/IP客户端

2024-09-27 11:44:59 发布

您现在位置:Python中文网/ 问答频道 /正文

今天我尝试在NAO robot中制作一个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()

运行完这段代码后,NAOs端的socket无法关闭,我不知道为什么。我还是无法发送图像。 你们能帮我完成这个任务吗?在

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

THX虚拟机:)


Tags: 代码图像ip客户端closerobotsocketfname
1条回答
网友
1楼 · 发布于 2024-09-27 11:44:59

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

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

相关问题 更多 >

    热门问题