免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1406 | 回复: 8
打印 上一主题 下一主题

【求助】求助C/S架构的一些网络编程问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-13 11:08 |只看该作者 |倒序浏览
本人最近需要做个客户-服务程序,客户端与服务器端采用TCP连接,有几个问题,向大家请教
1、TCP是以数据流方式传输信息,如果我想把一个结构体信息(里面定义了整型量和长度不固定的二进制数据)在两端传递,一般的做法是怎么实现的?
2、客户端和服务端如果采用不同的操作系统,如果它们对整型量的分配空间不同、字节顺序不同,那么如何才能在正确的在两端传递数字信息?我看到有一种方法是将整型量转变成字符串形式传输,请教一下有无更加有效的方法。
3、为了避免服务器的网络负载太重,我想加入传输速率的控制,就像ftp服务器对每个下载连接进行限速一样,不知道在TCP中如何实现速率控制。

谢谢大家!!

论坛徽章:
0
2 [报告]
发表于 2005-12-13 11:24 |只看该作者
>> 我想把一个结构体信息(里面定义了整型量和长度不固定的二进制数据)在两端传递,一般的做法是怎么实现的?

struct怎样做到有“长度不固定的二进制数据”???

>> 采用不同的操作系统,如果它们对整型量的分配空间不同、字节顺序不同,那么如何才能在正确的在两端传递数字信息?
网络上的传输不用担心,协议栈给你保证。只要Client和Server都正确处理收发的数据就行了。

论坛徽章:
0
3 [报告]
发表于 2005-12-13 11:32 |只看该作者
非常感谢斑竹的回答,
第一个问题,我描述有问题,应该是这样的,我想传不定长度的二进制数据过去,而在传输该数据同时,客户端必须以一个整型量标识这些不定长度的数据,这样服务器端收到二进制数据,并根据这个整型标识进行相应的处理。暂且把整型标识量和不定长度数据作为一个有意义数据单元,通过TCP传递时,服务器怎么来分割这些数据单元呢?

论坛徽章:
0
4 [报告]
发表于 2005-12-13 11:36 |只看该作者
>>网络上的传输不用担心,协议栈给你保证。只要Client和Server都正确处理收发的数据就行了。

我就是想问问client和server端是如何正确处理啊?假定client端为整型量开辟四个字节,而server端为整型量开辟8个字节,那么client端在传递整型数据时,放在数据包里的只是4个字节表示的整数,但在server端接收到该数据包时,它会以8个字节来读这个整型量,这样后续的数据不就是乱套了吗?

论坛徽章:
0
5 [报告]
发表于 2005-12-13 15:48 |只看该作者
帖子沉底太快,顶一下

论坛徽章:
0
6 [报告]
发表于 2005-12-13 16:46 |只看该作者
哈哈,看到楼主在很多论坛贴呀。
就想版主说的“网络上的传输不用担心,协议栈给你保证。只要Client和Server都正确处理收发的数据就行了。”
在发送时,已经绑定了,类型的声明和大小
只要都32位就一般不会出现问题。

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
7 [报告]
发表于 2005-12-13 16:58 |只看该作者
一般在传输中都转化成字符流,接收后对包文解析处理,得到你所需要的结构
当然也可以用网络字节序或你自己规定的一个格式进行传输,但仍然要进行转化,不见得效率会有提高

论坛徽章:
0
8 [报告]
发表于 2005-12-13 17:08 |只看该作者
楼上的xd刚才看了你的,24点的算法。
你原来的注释看不太明白,你有更好的方法计算吗?
你有空能发个注释给我吗?
cheesae@tom.com

先谢谢了!
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP