avatar
w*z
1
请教大家一个socket program的问题。
一个client 向 server发送请求,server send back 一个packet到client 端的socket。
client 端read socket的时候,如后才能知道这个packet的大小呢?
avatar
c*r
2
TCP/IP的packet好像是48个字节吧?忘了,但是应该很好找的呀。

【在 w***z 的大作中提到】
: 请教大家一个socket program的问题。
: 一个client 向 server发送请求,server send back 一个packet到client 端的socket。
: client 端read socket的时候,如后才能知道这个packet的大小呢?

avatar
w*z
3
关键是有什么command/function可以获取这个packet的大小。事实上我知道这个大小是多
少,因为client端向server端发送的请求就是要server端send一个x大小的packet。但x是
个server端的可变参数。所以问题就是每次client端接收到一个x大小的packet,client
如何获取这个x呢?

端的socket。

【在 c***r 的大作中提到】
: TCP/IP的packet好像是48个字节吧?忘了,但是应该很好找的呀。
avatar
c*r
4
用raw socket好像可以读出来,你可以看看ping的source code,
ping没有读packet大小,但是用同样的方法可以读出来。

【在 w***z 的大作中提到】
: 关键是有什么command/function可以获取这个packet的大小。事实上我知道这个大小是多
: 少,因为client端向server端发送的请求就是要server端send一个x大小的packet。但x是
: 个server端的可变参数。所以问题就是每次client端接收到一个x大小的packet,client
: 如何获取这个x呢?
:
: 端的socket。

avatar
p*f
5

It's good to offer help to others. But it's bad to offer misleading
information. It wastes your time and other's time.
TCP itself does not provide such information, so, you need high level
application protocol to handle it. For example, you may have the server
send packet size as the first line (ascii mode) or the first four bytes
(binary mode). Or use a special charactor or charactor sequence to
indicate the end of a packate.

【在 c***r 的大作中提到】
: 用raw socket好像可以读出来,你可以看看ping的source code,
: ping没有读packet大小,但是用同样的方法可以读出来。

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。