1
我正試圖創建一個客戶端管理器。我讀過關於套接字的一些信息。我正在做我的第一步,我有第一個問題。連接到smtp服務器窗口C++
這是我的代碼:
#include <iostream>
#include <cstdio>
#include <winsock2.h>
#include <windows.h>
#pragma comment (lib, "ws2_32.lib")
using namespace std;
const int VERSION_MAJOR = 1;
const int VERSION_MINOR = 1;
int main()
{
WSADATA WSData;
SOCKET sock;
struct sockaddr_in addr;
WSAStartup(MAKEWORD(VERSION_MAJOR, VERSION_MINOR), &WSData)
sock = socket(AF_INET, SOCK_STREAM, 0);
addr.sin_family = AF_INET;
addr.sin_port = htons(25); // или любой другой порт...
hostent *server_adress = gethostbyname("smtp.gmail.com");
addr.sin_addr.s_addr = *((unsigned long *)server_adress->h_addr_list[0]);
int con = connect(sock, (struct sockaddr *) &addr, sizeof(addr));
cout << "connect status " << con << '\n';
return 0;
}
連接()返回-1
爲什麼我無法連接?錯誤在哪裏?
請幫我
如果更改sock = socket(AF_INET,SOCK_STREAM,0),會發生什麼情況; to sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); ? –
@Joseph Pla沒有任何反應。連接()仍然返回-1(((( – andrei
非常奇怪,我在我的機器上得到0)確保你檢查你的互聯網連接 –