socket发送图片问题

blink31 2012-08-01 11:45:22
// 发送结构体
struct content
{
int w;
int h;
int pixelLenth;
unsigned char* pBuf;
};

我想通过机器A加载图片后得到pBuf像素数据,
通过socket发送到机器B接收并通过opengl纹理贴图的形式绘制绘制出来

我现在不清楚这样做行不行,还有就是如何把指针指向的内容发过去

各位教教我,项目急呀!!
...全文
154 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
RLib 2012-08-03
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

pBuf像素数据中有可能有0,造成字符串的截断?
[/Quote]

怎么会呢,除非LZ用了strlen来得到长度。

可以考虑对缓冲区进行编码,如base64
Gloveing 2012-08-03
  • 打赏
  • 举报
回复
pBuf像素数据中有可能有0,造成字符串的截断?
blink31 2012-08-03
  • 打赏
  • 举报
回复
我现在发送和接收功能都实现了,却出现了接收端绘制后闪屏的问题没办法解决。
赵4老师 2012-08-01
  • 打赏
  • 举报
回复
不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
http://topic.csdn.net/u/20120210/09/51109ed0-07b9-41f2-b487-a51597f2ca01.html
Deqiang_Li 2012-08-01
  • 打赏
  • 举报
回复
send (
IN SOCKET s,
IN const char FAR * buf,
IN int len,
IN int flags);

wqkjj 2012-08-01
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

不知道有多少前人掉在TCP Socket
send(人多)send(病少)send(财富)
recv(人多病)recv(少财富)
陷阱里面啊!
http://topic.csdn.net/u/20120210/09/51109ed0-07b9-41f2-b487-a51597f2ca01.html
[/Quote]

个人认为简单而且实用的做法就是:
固定的n字节数据长度+struct content结构体的内容+char *pBuf指向的内容。

我想强调的一点的是,一个问题可能有很多种解法,最适合你的项目需求的办法才是最好的办法,而不是所谓的最好的技术方法或者其他什么的。有时候,为了我们技术人员所认为的某些特性而牺牲项目的资源,个人认为是很不值得的。

64,683

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧