?? test.cpp
字號:
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <winsock.h>
#pragma comment(lib, "wsock32.lib")
#define POP3SERVPORT 110
#define MAXDATASIZE 4096
void main()
{
WORD wVersionRequested;
WSADATA WSAData;
wVersionRequested = MAKEWORD(1, 1);
if (0 != WSAStartup(wVersionRequested, &WSAData))
{
printf("加載套接字錯誤!");
exit(1);
}
int sockfd;
struct hostent *host;
struct sockaddr_in serv_addr;
char *POPMessage[]={
"USER userid\r\n",
"PASS password\r\n",
"STAT\r\n",
"LIST\r\n",
"RETR 1\r\n",
"DELE 1\r\n",
"QUIT\r\n",
NULL
};
int iLength;
int iMsg=0;
int iEnd=0;
char buf[MAXDATASIZE] = {0};
if ((host =gethostbyname("172.18.2.145")) == NULL)
{
printf("獲取主機域名錯誤!");
WSACleanup();
exit(1);
}
if ((sockfd = socket(PF_INET, SOCK_STREAM, 0)) == INVALID_SOCKET)
{
printf("創建套接字錯誤!");
WSACleanup();
exit(1);
}
serv_addr.sin_family = AF_INET;
serv_addr.sin_port = htons(POP3SERVPORT);
serv_addr.sin_addr = *((struct in_addr*)host->h_addr);
if (SOCKET_ERROR == connect(sockfd, (struct sockaddr*)&serv_addr, sizeof(struct sockaddr)))
{
printf("連接套接字錯誤!");
closesocket(sockfd);
WSACleanup();
exit(1);
}
do
{
send(sockfd, POPMessage[iMsg], strlen(POPMessage[iMsg]), 0);
printf("sent: %s",POPMessage[iMsg]);
iLength = recv(sockfd, buf + iEnd, sizeof(buf) - iEnd, 0);
iEnd += iLength;
buf[iEnd] = '\0';
printf("received: %s,%d\n",buf,iMsg);
iMsg++;
} while (POPMessage[iMsg]);
closesocket(sockfd);
WSACleanup();
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -