当前位置: 首页 > 知识库问答 >
问题:

将图像从套接字服务器(java)发送到套接字客户端(python)

艾跃
2023-03-14

我正试图从套接字服务器(Java)向套接字客户端(Python)发送一个映像,但客户端中接收到的映像大小不正确,无法打开。我不知道我做错了什么。有什么建议吗?

...
BufferedImage image = ImageIO.read (new File("c:\\tmp\\File.png"));
ImageIO.write(image, "png", connectionSocket.getOutputStream());
...
try:
   client_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client_socket.connect( host , port )
    data = client_socket.recv( 1024 )
    fp = open ( path, "wb" )
    while data:
        data = client_socket.recv( 1024 )
        if data:
            if not data: break
            fp.write  ( data )
            fp.flush()
        fp.close()
        client_socket.close()
except:
    print "could not connect to %s:%s " %( host, port 

共有1个答案

王彭薄
2023-03-14

将图像转换为base64字符串(Java),然后传输字符串并返回图像数据(python)。

java中,要从base64字符串中获取图像:

public static Image image(String base64Img) {
 byte[] b = DatatypeConverter.parseBase64Binary(base64Img);
 ByteArrayInputStream s = new ByteArrayInputStream(b);
 return new Image(s);
}
 类似资料:
  • 我有一个关于Java插座的技术问题。 例如,假设我有一个Java Sockets服务器和n个多个客户端。是否可以几乎实时地将数据从服务器发送到任何或所有客户端? 更准确地说: 有哪种监听器可以在Sockets客户端中实现 有人能告诉我什么方法是最好的吗?此外,如果有人有一个代码示例,我也会很高兴。 谢谢

  • 首先我要感谢你花时间... 我在macbook中用C++创建了一个服务器套接字,在运行windows XP的不同机器中用Java创建了一个客户机/套接字。我已将端口指定为5000,但无法指定正确的主机,因此无法进行连接。当我在windows xp中使用WinSock2创建一个C++服务器/套接字时,当我使用本地主机时,连接是完美的...有什么想法吗??? 提前Thnx int main(int a

  • 我也试图从Java服务器和Python客户机传输数据。我成功地将数据从客户端传输到服务器,但根本没有接收到数据。 在python客户机上,我有以下内容:(注意,这是在一个单独的线程中运行的) 如果这是成功的工作,输出将是客户端套接字值,等待服务器,然后得到一些数据。然而,它正陷入等待数据的困境。 这意味着套接字显然不是None,它正在等待缓冲区接收?我将接收缓冲区大小设置为1,以查看是否有任何数据

  • 我试图用java实现一个客户端服务器,在这里我读取客户端中的输入并在服务器中执行UperCase,然后返回客户端并打印UperCase。我使用ObjectOutputStream和ObjectInputStream进行读写,但是当我在客户机中键入一个msg时,程序会显示以下错误: Digite uma msg casa java.io.eofexception位于java.io.datainput

  • 我有两个通过字符串与套接字通信的Java项目。一个是客户端,另一个是服务器。服务器通过“ServerSocket”接受连接,并使用新创建的“套接字”创建新的“会话”(线程)。 同时,客户端只有一个“套接字”,一旦连接了这个套接字,客户端就会创建一个“ClientSession”(线程,非常类似于“session”)。 我想要的是服务器通过“username”字符串询问客户机他的用户名,客户机用他的

  • 问题内容: 我试图用没有gui的服务器连接带有gui的客户端。连接已完成,但我看不到这两个应用程序之间的任何消息。(我应该在客户端中找到SERVER HERE,在服务器中找到CLIENT HERE) 客户端连接代码: (输入和输出在此客户端类扩展到的GUI类中定义。定义为“受保护的BufferedReader输入;受保护的PrintWriter输出;”) 另外,服务器代码: 连接似乎还可以,所以我