阅读:2945回复:28
有谁对Socket编程熟啊,请教。
这几天忙着为公司的数码相机添加网络可视功能。用Socket通过局域网传输数据。主机开端口,客户机发数据,发现一秒钟只能发4帧左右数据(640*480,大概40KB一帧),主要是因为客户机在Send之后不能得到主机已经接受完成可以开始下一次发送的通知,只有Sleep一段时间,不知有没有好的方法呢?
还有10M/100M网卡速度是指什么速度?为什么发40K数据客户机要等待300多毫秒? 谢谢啊。 :) (这里放的分是鼓励回帖的,回答技术问题另外给专家分。) |
|
最新喜欢:![]()
|
沙发#
发布于:2002-10-25 11:39
我证明花猫是清白的 没有,我希望我马上从这里消失。 :( :( :( |
|
|
板凳#
发布于:2002-10-25 11:30
我证明花猫是清白的
btw:花猫最近时间很多呀,天天在这泡着,公司放你大假 :D |
|
|
地板#
发布于:2002-10-25 11:26
我倒是可以申请一付马甲,自己给自己加,不过觉得那样太不好意思。 我可没那么干 我的分真是我抢来的 |
|
|
地下室#
发布于:2002-10-25 11:15
我不会这么着就提醒了别人吧?
|
|
5楼#
发布于:2002-10-25 11:14
我倒是可以申请一付马甲,自己给自己加,不过觉得那样太不好意思。
|
|
6楼#
发布于:2002-10-25 10:55
不告诉你。这是我们强盗界的规矩,内部信息不得外泄
|
|
|
7楼#
发布于:2002-10-25 10:50
[quote][quote][quote][quote]果然是socket API速度快。现在客户机采集的数据基本全部发到了主机而且不用等待,单路显示做完了,速度非常好,还要做多路的。谢谢大家。 哦,专家分一定要啊。 [/quote] 当然,我现在就指着专家分活着呢 :mad: :mad: :mad: [/quote] 你最近不是搞了好多专家分吗? [/quote] 是啊,坑蒙拐骗抢来的 [/quote] 要怎么别人才能给啊?我回答了好多问题,一般都是给各5分10分的,好少啊。打击积极性! |
|
8楼#
发布于:2002-10-25 10:40
[quote][quote][quote]果然是socket API速度快。现在客户机采集的数据基本全部发到了主机而且不用等待,单路显示做完了,速度非常好,还要做多路的。谢谢大家。 哦,专家分一定要啊。 [/quote] 当然,我现在就指着专家分活着呢 :mad: :mad: :mad: [/quote] 你最近不是搞了好多专家分吗? [/quote] 是啊,坑蒙拐骗抢来的 |
|
|
9楼#
发布于:2002-10-25 10:38
[quote][quote]果然是socket API速度快。现在客户机采集的数据基本全部发到了主机而且不用等待,单路显示做完了,速度非常好,还要做多路的。谢谢大家。 哦,专家分一定要啊。 [/quote] 当然,我现在就指着专家分活着呢 :mad: :mad: :mad: [/quote] 你最近不是搞了好多专家分吗? |
|
10楼#
发布于:2002-10-25 10:13
[quote]果然是socket API速度快。现在客户机采集的数据基本全部发到了主机而且不用等待,单路显示做完了,速度非常好,还要做多路的。谢谢大家。 哦,专家分一定要啊。 [/quote] 当然,我现在就指着专家分活着呢 :mad: :mad: :mad: |
|
|
11楼#
发布于:2002-10-25 10:09
果然是socket API速度快。现在客户机采集的数据基本全部发到了主机而且不用等待,单路显示做完了,速度非常好,还要做多路的。谢谢大家。 哦,专家分一定要啊。 |
|
12楼#
发布于:2002-10-25 09:51
果然是socket API速度快。现在客户机采集的数据基本全部发到了主机而且不用等待,单路显示做完了,速度非常好,还要做多路的。谢谢大家。
我准备到开发工具使用版开一个帖子,给各位专家分,每人20分。再次感谢! |
|
|
13楼#
发布于:2002-10-25 08:30
1,首先不要用MFC的API 非常感谢。我昨天试了一下直接用socket API速度确实很快,正在调试,如果搞不定的话再向你请教。 :) |
|
|
14楼#
发布于:2002-10-24 18:31
[quote]如果你用的是TCP的话,为什么要Sleep才知道对方接受了? UDP和tftp是什么?不懂。我直接用CSocket类,应该是TCP吧? :D [/quote] faint ,TCP如果连接没断开肯定传输没问题,UDP可以通过连续发几次同样的包确保对方能收到(当然要给个序号,同一个序号表示内容相同的重复包) |
|
|
15楼#
发布于:2002-10-24 18:00
1,首先不要用MFC的API
2,改变Socket接收和发送缓冲区的大小,如改为20K。 3,Send函数可以一直发送,不必接收对端的响应。 4,如果需要类似源码,我可以提供。 |
|
|
16楼#
发布于:2002-10-24 15:54
还是自己用socket API吧,MFC的效率不敢肯定。
|
|
17楼#
发布于:2002-10-24 15:06
还有,你的显示和接收数据是不是在同一个线程里面做的?建议改成多线程试试。 接收和显示是不同的线程的。 |
|
|
18楼#
发布于:2002-10-24 15:04
如果你用的是TCP的话,为什么要Sleep才知道对方接受了? UDP和tftp是什么?不懂。我直接用CSocket类,应该是TCP吧? :D |
|
|
19楼#
发布于:2002-10-24 15:03
[quote]为什么send后不能接收响应?主机应该发确认啊 :mad: :mad: :mad: 用什么函数发回确认?还是自己定义回传数据表示接收完毕? [/quote] TCP自己确认了,OS缓存你要发的数据,所以只要缓存容量够,你就能拼命发,不管它收到无。 如果是UDP,你自己确认的了。 |
|
|
上一页
下一页