w***z 发帖数: 1848 | 1 请教大家一个socket program的问题。
一个client 向 server发送请求,server send back 一个packet到client 端的socket。
client 端read socket的时候,如后才能知道这个packet的大小呢? |
c***r 发帖数: 4631 | 2 TCP/IP的packet好像是48个字节吧?忘了,但是应该很好找的呀。
【在 w***z 的大作中提到】 : 请教大家一个socket program的问题。 : 一个client 向 server发送请求,server send back 一个packet到client 端的socket。 : client 端read socket的时候,如后才能知道这个packet的大小呢?
|
w***z 发帖数: 1848 | 3 关键是有什么command/function可以获取这个packet的大小。事实上我知道这个大小是多
少,因为client端向server端发送的请求就是要server端send一个x大小的packet。但x是
个server端的可变参数。所以问题就是每次client端接收到一个x大小的packet,client
如何获取这个x呢?
端的socket。
【在 c***r 的大作中提到】 : TCP/IP的packet好像是48个字节吧?忘了,但是应该很好找的呀。
|
c***r 发帖数: 4631 | 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。
|
p******f 发帖数: 162 | 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大小,但是用同样的方法可以读出来。
|