所以我正在浏览asio教程,并编译了同步的日间客户端和同步的日间服务器.我正在玩服务器端的代码,通过命令行传入端口(在网站的代码中,他们硬编码13作为端口).
我注意到,如果服务器在端口13上运行,客户端只能连接,但有趣的是客户端上没有说服务器所在的端口.
任何人都可以向我解释这个程序如何知道服务器运行的端口以及为什么它只适用于端口13?这是服务器的代码http://www.boost.org/doc/libs/1_45_0/doc/html/boost_asio/tutorial/tutdaytime2/src.html
//
// client.cpp
// ~~~~~~~~~~
//
// Copyright (c) 2003-2010 Christopher M. Kohlhoff (chris at kohlhoff dot com)
//
// Distributed under the Boost Software License, Version 1.0. (See accompanying
// file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
//
#include <iostream>
#include <boost/array.hpp>
#include <boost/asio.hpp>
using boost::asio::ip::tcp;
int main(int argc, char* argv[])
{
try
{
if (argc != 2)
{
std::cerr << "Usage: client <host>" << std::endl;
return 1;
}
boost::asio::io_service io_service;
tcp::resolver resolver(io_service);
tcp::resolver::query query(argv[1], "daytime"); …Run Code Online (Sandbox Code Playgroud) 我正在做一个家庭作业,基本上要求我们解析DNS响应以获取IP地址等.问题是教授已经非常详细地告诉我们DNS服务器的响应是什么,但我不知道发送服务器的内容.我的第一次尝试netcat <ip address of local name server> 53只是输入www.google.com并点击回车并寻找回复,但我没有收到任何回复.
任何人都可以向我描述一下DNS查询的样子(比如查询的每个部分允许多少字节)?