首先,本机PC需是直连接网络,没有设置代理,代码如下:
#include<stdio.h>
#include<netdb.h>
#include<string.h>
#define PORT 80
int main()
{
struct hostent* host = NULL;
host = gethostbyname("www.baidu.com");
if(NULL == host)
{
printf("don't connect internet...");
return -1;
}
///定义sockfd
int sock_cli = -1;
sock_cli = socket(AF_INET,SOCK_STREAM, 0);
///定义sockaddr_in
struct sockaddr_in servaddr;
memset(&servaddr, 0, sizeof(servaddr));
servaddr.sin_family = AF_INET;
servaddr.sin_port = htons(PORT); ///服务器端口
//servaddr.sin_addr.s_addr = inet_addr(); ///服务器ip
servaddr.sin_addr = *((struct in_addr *)host->h_addr);
///连接服务器,成功返回0,错误返回-1
if (connect(sock_cli, (struct sockaddr *)&servaddr, sizeof(servaddr)) < 0)
{
perror("connect");
return -1;
}
else
{
printf("connect internet...");
}
return 0;
}