socket传输图片问题

whpfish whpfish 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
从服务器端传送一张图片到客户端(这里用的是jpg),奇怪的是有时候传送成功,有时候传送失败.我所用的方法是把图片的字节流传过去,可是无论是分批传还是一次性传输(图片大小在80K左右),问题总是存在.

服务器端主要代码 C++
// transfer image start with <IMAGE>
inImage.open((dir+filename+".jpg").c_str(),fstream::binary);
CNetwork::Send(clientSocket,"<IMAGE>\n",strlen("<IMAGE>\n"));
int length; // clientSocket 为客户端套接字
char * buffer;

// get length of file:
inImage.seekg (0, ios::end);
length = inImage.tellg();
inImage.seekg (0, ios::beg);

// allocate memory:
buffer = new char [length];

// read data as a block:
inImage.read(buffer,length);
CNetwork::Send(clientSocket, buffer, length);
inImage.close();
delete [] buffer;
客户端主要代码 Java
server = new Socket(host,port);
// get input stream
InputStream inn = server.getInputStream();
BufferedReader bufIn = new BufferedReader(new InputStreamReader(inn));
// get ouput stream
PrintWriter out = new PrintWriter(server.getOutputStream());
// send the name of the file which we need to server
out.write(filename.toCharArray(),0,filename.length());
out.flush();
String line; //
while ((line = bufIn.readLine()) != null) {
if (line.equals("<FILE>"))
fileTransfer(bufIn);
else if (line.equals("<IMAGE>")){
bufImage = imageTransfer();
break;
}
}
public BufferedImage imageTransfer() throws IOException{
BufferedImage image=null;
// get input stream
ImageInputStream stream = ImageIO.createImageInputStream(
server.getInputStream());//server为连接的socket
image = ImageIO.read(stream);
ImageIO.write(image,"jpg",new File(filename+".jpg"));
return image;
}
...全文

相关推荐

基于安卓平台的图片采集与传输系统-实现从本地文件夹或摄像头获取图片并通过socket通信上传至服务器-解决安卓与C平台间大容量图片数据传输问题-包含安卓端图片采集模块socke.zip

卓晴基于安卓平台的图片采集与传输系统_实现从本地文件夹或摄像头获取图片并通过socket通信上传至服务器_解决安卓与C平台间大容量图片数据传输问题_包含安卓端图片采集模块socke.zip基于安卓平台的图片采集与传输系统_实现从本地文件夹或摄像头获取图片并通过socket通信上传至服务器_解决安卓与C平台间大容量图片数据传输问题_包含安卓端图片采集模块socke.zip

2501_91880063

socket实现jpg图片的传输

socket实现jpg图片的传输,分为客户端c.cpp和服务器s.cpp,客户端和服务器建立连接后,就可以接收服务器发送的jpg图片。

wqq198906

C# Socket心跳包跟图片传输,TCP/IP协议响应Demo供学习之用

很多人在写Socket的时候会遇到心跳包响应机制跟主线程消息传输机制如何规避而互不影响,本Demo就解决了此问题,而且简单易懂,都有备注,欢迎下载学习之用。

Barry_James

socket传输图片包括服务器客户端

高效socket传输图片源码,解决半包 粘包等问题,也可用于大数据量传输分包等应用

classic_zz

socket传输图片.zip

该Demo为两台手机之间通过socket进行传输图片的例子。

Gxianglong
评论 14
收藏 已收藏
分享
返回顶部
whpfish
Java SE 62,621 成员 307,251 内容