调用 'userConnect()' 方法跳过
Call to the 'userConnect()' method skips
我要发布这个问题,因为我对出了什么问题一无所知。我最近使用Select()API作为我作业的一部分对客户服务器交互式文件共享应用程序进行了编码。它可以在我的笔记本电脑上工作。但是我被告知要在大学服务器上运行它,因为那是我的项目将进行测试的地方。我确保我的申请正常工作并提交了项目。
当我的应用程序开始时,它调用了" getMyipAddress()"方法来获取主机的本地IP地址,后来我将其用于标记自我连接。现在问题是,如果我删除'cout<<"在这种方法中,它跳过'userconnect()'例程。
void getMyIPAddress (char* command, char* port) {
struct hostent *he;
struct in_addr ipv4addr;
char dnsIP[] = "8.8.8.8"; // Google DNS IP
char dnsPort[] = "53" ; // Google DNS TCP Port
// Converting IP to struct in_addr type
inet_pton(AF_INET, dnsIP, &ipv4addr);
// getting host details from IP address
he = gethostbyaddr(&ipv4addr, sizeof ipv4addr, AF_INET);
cout << "BAZINGA!" << endl;
// Connecting to google DNS to get IP address of this process
userConnect (he->h_name, dnsPort, port, command);
}
我在提交之前确实删除了此不必要的" cout"。现在,它不输入连接到Google DNS和Retreivs IP地址的USerConnect()。如果我保留它,它可以正常工作。
我没有发布这个问题来浪费您的宝贵时间。如果您能理解可能导致的,您会减轻我的挫败感。
edit ::@tanmay的答案:"我将cout&lt;&lt;移到了userconnect()例程中,然后再连接。它不起作用。"'userconnect()中没有错误,'它只是在被称为时应应有的。"
编辑:我意识到它在哪里出错。请参阅后续职位。
由于某种原因正在更改变量
谢谢,萨拉特。
在gethostbyaddr
或userConnect
中有可能由于COUT而解决的错误。很可能是由于冲洗输出缓冲区。
请尝试用其他代码替换它,并分享实验的结果。
祝你好运。
相关文章:
- 为不同配置设置MSVC_RUNTIME_LIBRARY的正确方法是什么
- 通过方法访问结构
- 最小硬币更换问题(自上而下方法)
- C++为构建时间获取QDateTime的可靠方法
- 在C#中处理C++指针而不使用unsafe的最佳方法
- 处理多个异常集合的C++方法
- 如果C++类在类方法中具有动态分配,但没有构造函数/析构函数或任何非静态成员,那么它仍然是POD类型吗
- 有什么方法可以遍历结构吗
- 当类在C++中定义时,有什么方法可以"register"类吗?
- 在C++中,将大的无符号浮点数四舍五入为整数的最佳方法是什么
- 实现无开销push_back的最佳方法是什么
- 使用std::函数映射对象方法
- 有符号的int和int-有没有一种方法可以在C++中区分它们
- C++从另一个类访问公共静态向量的正确方法是什么
- C++优先级队列,按对象的唯一指针的特定方法升序排列
- 没有为自己的结构调用列表推回方法
- 有没有什么方法可以使用一个函数中定义的常量变量,也可以由c++中同一程序中的其他函数使用
- 在类定义之后定义一个私有方法
- 枚举环境变量的惯用C++14/C++17方法
- 调用 'userConnect()' 方法跳过