我有两个问题:
我正在尝试使用https://bitpay.com/api/rates,遵循http://spring.io/guides/gs/consuming-rest/中的教程.
我想要做的是,在创建一个对话框后,在框中DoModal()
按OK退出它,返回一个自定义值.例如,用户将在对话框中输入的几个字符串.
我有一个TCP端口扫描程序,它扫描给定IP上的所有开放端口,并仅返回打开的端口和符号上的服务名称.为此,我创建一个套接字,将其设置为非阻塞模式,并select()
在端口上如果超时则表示端口已关闭,否则打开.问题是我的select()总是超时,即使我尝试扫描开放端口.我希望有人指出我的错误,我的逻辑是不是很糟糕?
#include <stdlib.h>
#include <iostream>
#include <cstdio>
#include <string.h>
#include <netdb.h>
#include <fcntl.h>
#include <assert.h>
#include <sys/time.h>
#include <errno.h>
using namespace std;
fd_set working_set;
hostent *he;
char* protoc [2] = { "tcp","udpn" };
int port;
struct sockaddr_in servaddr;
int sendfd;
servent *srvport;
void set_nonblock(int socket) {
int flags;
flags = fcntl(socket,F_GETFL,0);
assert(flags != -1);
fcntl(socket, F_SETFL, flags | O_NONBLOCK);
}
void set_block(int socket) {
int flags;
flags = fcntl(socket,F_GETFL,0);
assert(flags != -1);
fcntl(socket, F_SETFL, flags | ~O_NONBLOCK);
} …
Run Code Online (Sandbox Code Playgroud)