【发布时间】:2017-09-29 14:03:26
【问题描述】:
我正在编写一个服务器应用程序,它接受来自不同程序/协议的 TCP 连接,但我需要将其他信息传递给我的服务器。我正在考虑通过正在使用的子域传递这些信息。换句话说,当连接到我的服务器时,使用somedata.example.com 之类的地址,其中somedata 将是我需要的额外信息,我的DNS 将*.example.com 指向我的服务器。是否可以获取客户端用于连接到我的服务器的域/子域?
欢迎使用代码示例,在 Go 中会更好。
谢谢。
【问题讨论】:
-
主机名和子域在 http 协议中进行通信。它们不一定在任意 tcp 流中进行通信。
-
您具体使用什么协议?你在用tls吗? SNI 握手可能包含您需要的信息。
-
我的服务器将在 TCP 套接字级别工作。也许您可以详细说明如何从 SNI 握手中获取此数据,以供其他可能感兴趣且没有我所做限制的人使用?
标签: sockets tcp server dns subdomain