读书人

为何用套接字连接百度不不成功

发布时间: 2013-03-14 10:33:15 作者: rapoo

为什么用套接字连接百度不不成功?
本帖最后由 firerun 于 2013-01-08 18:33:02 编辑
最近在看套接字编程。
想着如果建立一个套接字,connect()到百度应该是会成功的吧?(意思是百度的服务端会accept我的connect)
因为http是面向连接的啊。
可是结果连接并没有成功。

首先在命令符窗口ping www.baidu.com
得到百度的地址为 119.75.217.109
于是我就建立了一个套接字,让他connect到 119.75.217.109 的 80 端口。
可是结果并没有连接成功。
在浏览器里边打入 http://119.75.217.109:80 百度返回的是访问出错页面。
不管返回什么页面,至少应该认为是建立了连接的吧。

// int main.cpp

#include "printer.h"
#include <QtNetwork/QTcpSocket>
#include <qDebug>



int main()
{
QTcpSocket socket;
socket.abort();

Printer printer;

QObject::connect(&socket, SIGNAL(stateChanged(QAbstractSocket::SocketState)),
&printer, SLOT(changedState(QAbstractSocket::SocketState)));

socket.connectToHost("119.75.217.109", 80);

return 0;
}


上面的代码是Qt的,不解释,但是结果是连接不成功的。

谁能给个解释。


[解决办法]
看你的浏览器或者网络设置,我试了http://119.75.217.109:80这个是可以打开biadu的
[解决办法]
80 端口。 端口对么?
[解决办法]
不带 80 端口可以 ping 通

tracert 119.75.217.109
[解决办法]
你这不是连自己(127.0.0.1)么??
[解决办法]
WSAStartup?
[解决办法]
肯定是可以连的,检查一下代码

读书人网 >C语言

热点推荐