使用 Socket 发送/接收图片

Posted

技术标签:

【中文标题】使用 Socket 发送/接收图片【英文标题】:Send/Receive picture with Socket 【发布时间】:2016-11-29 07:09:19 【问题描述】:

目前正在开发一个应用程序,我必须每 X 秒向我的服务器发送一张图片,然后服务器会将其上传到我的 FTP。为了不让图片太重,它的格式是JPEG,我上一张图片是135Ko,也就是135000字节。

通常我发送最大 8192 字节的数据包,但我需要在我的应用程序中使用这种图片发送机制,所以我在这里问你们将这 135000 字节发送到我的服务器的最佳方式是什么?也是一种快速的方法。

一次性? 切片,8192 字节? 我想念的其他方法?

编辑:我使用 TCP

感谢您的宝贵时间。

【问题讨论】:

您使用什么传输协议?到目前为止,您尝试了什么? 传输协议是什么意思? UDP、TCP、RTSP..等 我使用TCP,我编辑了帖子让大家知道。 【参考方案1】:

TCP 数据包大小可以达到64K (65535 bytes) 所以:

您将有三个选项(是):

假设您已经将图像转换为字节[],通过两个数据包发送每个图像,然后在服务器端组合。您需要注意他们的订单。

调整图像大小,使数据包大小与它相同或小于它。

搜索可以为您执行此操作的库(将图像拆分为多个数据包并将其重新组合在一起)

【讨论】:

以上是关于使用 Socket 发送/接收图片的主要内容,如果未能解决你的问题,请参考以下文章

请问java消息怎么发送图片文件,又怎么接收呢?

socket接收消息拼接

如何用Qt的Qudpsocket传输图片文件?

socket接收到数据增加no

用socket发送接收数据,但每次接收的数据字节长度都大于发送的25个字节?

.NET下使用Socket进行TCP传输时数据发送或接收不全