0

我是原始套接字的新手。我想编写一个服务器和一个客户端应用程序,它们使用原始套接字在一个或多个文件中发送和接收原始数据。每个文件可能包含一个或多个 50 字节的数据段,每个数据段带有指定的分隔符(即空格、回车等)。我的服务器的工作是从文件中读取并一次发送每个段。每个数据包应仅包含没有任何传统标头信息的数据,例如 MAC 地址等以太网标头(数据包可能在数据包前面包含某种形式的数据,以指示数据包的长度和/或开始以及分隔符指示数据包的结束)。客户端应用程序应该简单地监听端口、解析数据并将原始数据写入文件。

请指导我。我发现了许多原始套接字程序,但没有一个是清楚的。如果有人能给我一个坚实的开始,那就太好了。

4

1 回答 1

4

你可以在这里看到:http: //sock-raw.org/papers/sock_raw,但你说的确实是可能的。事实上,想象一下,在您的数据中,您有与可以路由的协议匹配的数据,数据包将被路由。实际上,如果您查看文档,原始套接字处理标头和有效负载。您必须有一个标头(在您的情况下,它必须以 0 开头表示个人标头,并且在没有标头之后,只是有效负载)。而且,也许它可以与一个非常基本的路由器/交换机一起工作,但现在,这听起来很困难,因为路由器看起来数据并且可能会认为这是损坏的数据。

于 2011-11-11T00:03:01.833 回答