winsock程序中出现错误 #包括 #包括 #包括 #pragma注释(lib,“Ws2_32.lib”) #包括 使用名称空间std; int WINAPI WinMain(HINSTANCE hInst、HINSTANCE hPrevInst、LPSTR lpCmd、int nShow) { WSADATA WSADATA; WSAStartup(MAKEWORD(1,1)和wsaData); SOCKET Sock=SOCKET(AF_INET、Sock流、IPPROTO_TCP); if(Sock==无效的_套接字) { WSACleanup(); 返回无效的_套接字; }; LPHOSTENTRY; in_addr iaHost; SOCKADDR_IN Addr_IN; Addr_in.sin_family=AF_INET; Addr_in.sin_Addr.s_Addr=inet_Addr(“10.0.2.6”); 地址单端口=htons(25); if(connect(Sock,(LPSOCKADDR)&Addr\u in,sizeof(struct Addr\u in))==SOCKET\u错误) { WSACleanup(); 返回无效的_套接字; }; 结构电子邮件{LPSTR发件人、收件人、邮件、主题;}; 电子邮件e={”vin@jkdbk.com" , "vinod@vrk.com“嗨”,“笑话”}; LPSTR lpszBuff=新字符[500]; //LPSTR vin=新字符[500]; recv(短袜,lpszBuff,500,0); cout
您得到了以下表达式:winsock程序中出现错误 #包括 #包括 #包括 #pragma注释(lib,“Ws2_32.lib”) #包括 使用名称空间std; int WINAPI WinMain(HINSTANCE hInst、HINSTANCE hPrevInst、LPSTR lpCmd、int nShow) { WSADATA WSADATA; WSAStartup(MAKEWORD(1,1)和wsaData); SOCKET Sock=SOCKET(AF_INET、Sock流、IPPROTO_TCP); if(Sock==无效的_套接字) { WSACleanup(); 返回无效的_套接字; }; LPHOSTENTRY; in_addr iaHost; SOCKADDR_IN Addr_IN; Addr_in.sin_family=AF_INET; Addr_in.sin_Addr.s_Addr=inet_Addr(“10.0.2.6”); 地址单端口=htons(25); if(connect(Sock,(LPSOCKADDR)&Addr\u in,sizeof(struct Addr\u in))==SOCKET\u错误) { WSACleanup(); 返回无效的_套接字; }; 结构电子邮件{LPSTR发件人、收件人、邮件、主题;}; 电子邮件e={”vin@jkdbk.com" , "vinod@vrk.com“嗨”,“笑话”}; LPSTR lpszBuff=新字符[500]; //LPSTR vin=新字符[500]; recv(短袜,lpszBuff,500,0); cout,winapi,winsock,Winapi,Winsock,您得到了以下表达式: #include <winsock2.h> #include <windows.h> #include<stdio.h> #pragma comment(lib, "Ws2_32.lib") #include <iostream> using namespace std; int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevIn
#include <winsock2.h>
#include <windows.h>
#include<stdio.h>
#pragma comment(lib, "Ws2_32.lib")
#include <iostream>
using namespace std;
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmd, int nShow)
{
WSADATA wsaData;
WSAStartup(MAKEWORD(1,1), &wsaData);
SOCKET Sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(Sock == INVALID_SOCKET)
{
WSACleanup();
return INVALID_SOCKET;
};
LPHOSTENT hostEntry;
in_addr iaHost;
SOCKADDR_IN Addr_in;
Addr_in.sin_family=AF_INET;
Addr_in.sin_addr.s_addr=inet_addr("10.0.2.6");
Addr_in.sin_port=htons(25);
if ( connect(Sock,(LPSOCKADDR)&Addr_in,sizeof(struct Addr_in)) == SOCKET_ERROR)
{
WSACleanup();
return INVALID_SOCKET;
};
struct Email { LPSTR sender , recipient , message , subject; };
Email e = { "vin@jkdbk.com" , "vinod@vrk.com" , "hi" , "joke"};
LPSTR lpszBuff = new char[500];
//LPSTR vin=new char[500];
recv(Sock,lpszBuff,500,0);
cout << lpszBuff;
sprintf(lpszBuff,"HELO Mail-Server\r\n");
send(Sock,lpszBuff,strlen(lpszBuff),0);
recv(Sock,lpszBuff,100,0);
cout << lpszBuff;
//for (int i = 0;i>=0; i++) {
sprintf(lpszBuff,"MAIL FROM: %s\r\n",e.sender);
send(Sock,lpszBuff,strlen(lpszBuff),0);
recv(Sock,lpszBuff,100,0);
sprintf(lpszBuff,"RCPT TO: %s\r\n",e.recipient);
send(Sock,lpszBuff,strlen(lpszBuff),0);
recv(Sock,lpszBuff,100,0);
sprintf(lpszBuff,"DATA\r\nFROM: <%s>\r\nSUBJECT: %s\r\n%s\r\n.\r\n",e.sender,e.subject,e.message);
send(Sock,lpszBuff,strlen(lpszBuff),0);
recv(Sock,lpszBuff,100,0);
//}
sprintf(lpszBuff,"QUIT");
send(Sock,lpszBuff,strlen(lpszBuff),0);
//recv(s,lpszBuff,100,0);
delete lpszBuff;
WSACleanup();
exit(0);
}
要么你想要
sizeof(struct Addr_in)
或
现在,代码中没有名为Addr\u的struct
类型
另外,在将来,请不要忘记在错误消息中包含行号,并指出这指的是源代码中的实际行。您当然应该自己做这件事,但这也有助于我们回答您的问题。您有以下表达式:
#include <winsock2.h>
#include <windows.h>
#include<stdio.h>
#pragma comment(lib, "Ws2_32.lib")
#include <iostream>
using namespace std;
int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR lpCmd, int nShow)
{
WSADATA wsaData;
WSAStartup(MAKEWORD(1,1), &wsaData);
SOCKET Sock = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if(Sock == INVALID_SOCKET)
{
WSACleanup();
return INVALID_SOCKET;
};
LPHOSTENT hostEntry;
in_addr iaHost;
SOCKADDR_IN Addr_in;
Addr_in.sin_family=AF_INET;
Addr_in.sin_addr.s_addr=inet_addr("10.0.2.6");
Addr_in.sin_port=htons(25);
if ( connect(Sock,(LPSOCKADDR)&Addr_in,sizeof(struct Addr_in)) == SOCKET_ERROR)
{
WSACleanup();
return INVALID_SOCKET;
};
struct Email { LPSTR sender , recipient , message , subject; };
Email e = { "vin@jkdbk.com" , "vinod@vrk.com" , "hi" , "joke"};
LPSTR lpszBuff = new char[500];
//LPSTR vin=new char[500];
recv(Sock,lpszBuff,500,0);
cout << lpszBuff;
sprintf(lpszBuff,"HELO Mail-Server\r\n");
send(Sock,lpszBuff,strlen(lpszBuff),0);
recv(Sock,lpszBuff,100,0);
cout << lpszBuff;
//for (int i = 0;i>=0; i++) {
sprintf(lpszBuff,"MAIL FROM: %s\r\n",e.sender);
send(Sock,lpszBuff,strlen(lpszBuff),0);
recv(Sock,lpszBuff,100,0);
sprintf(lpszBuff,"RCPT TO: %s\r\n",e.recipient);
send(Sock,lpszBuff,strlen(lpszBuff),0);
recv(Sock,lpszBuff,100,0);
sprintf(lpszBuff,"DATA\r\nFROM: <%s>\r\nSUBJECT: %s\r\n%s\r\n.\r\n",e.sender,e.subject,e.message);
send(Sock,lpszBuff,strlen(lpszBuff),0);
recv(Sock,lpszBuff,100,0);
//}
sprintf(lpszBuff,"QUIT");
send(Sock,lpszBuff,strlen(lpszBuff),0);
//recv(s,lpszBuff,100,0);
delete lpszBuff;
WSACleanup();
exit(0);
}
要么你想要
sizeof(struct Addr_in)
或
现在,代码中没有名为Addr\u的struct
类型
另外,在将来,请不要忘记在错误消息中包含行号,并指出这指的是源代码中的实际行。当然,您应该自己做这件事,但这也有助于我们回答您的问题