一个winsock基本模板
1 #include "stdio.h"
2 #include "string.h"
3 #include "WinSock.h"
4 #pragma comment(lib,"wsock32.lib")
5
6 int main()
7 {
8 SOCKET sock_server;
9 hostent * ht_server;
10 sockaddr_in addr_server;
11 WSADATA wsaData;
12
13 const char smtp_host[]="smtp.yeah.net";
14 const char smtp_port=25;
15
16 //Initialize Winsock version 1.1
17 if (WSAStartup(MAKEWORD(1,1), &wsaData) != 0) {
18 perror("WSAStartup failed\n");
19 exit(1);
20 }
21
22 //get the ip address of smtp server
23 if ((ht_server=gethostbyname(smtp_host)) == NULL) {
24 perror("gethostbyname failed!");
25 exit(1);
26 }
27
28 //make a socket
29 if ((sock_server = socket(AF_INET,SOCK_STREAM,0)) == INVALID_SOCKET) {
30 perror("make socket error!");
31 exit(1);
32 };
33
34 //initial the server addresss
35 memset(&addr_server,0,sizeof(addr_server));
36 addr_server.sin_family=AF_INET;
37 addr_server.sin_port=htons(smtp_port);
38 memcpy(&addr_server.sin_addr,ht_server->h_addr_list[0],ht_server->h_length);
39
40 //client connect to server
41 if(connect(sock_server,(LPSOCKADDR)&addr_server,sizeof(addr_server)) == SOCKET_ERROR) {
42 perror("connect error!");
43 exit(1);
44 };
45
46 //read and write characters to the server
47 char buf[100]="EHLO";
48 send(sock_server,buf,strlen(buf),0);
49 recv(sock_server,buf,sizeof(buf),0);
50 puts(buf);
51
52 //When your application is finished call WSACleanup
53 if (WSACleanup() == SOCKET_ERROR) {
54 perror("WSACleanup failed\n");
55 }
56
57 return 0;
58 }
59
2 #include "string.h"
3 #include "WinSock.h"
4 #pragma comment(lib,"wsock32.lib")
5
6 int main()
7 {
8 SOCKET sock_server;
9 hostent * ht_server;
10 sockaddr_in addr_server;
11 WSADATA wsaData;
12
13 const char smtp_host[]="smtp.yeah.net";
14 const char smtp_port=25;
15
16 //Initialize Winsock version 1.1
17 if (WSAStartup(MAKEWORD(1,1), &wsaData) != 0) {
18 perror("WSAStartup failed\n");
19 exit(1);
20 }
21
22 //get the ip address of smtp server
23 if ((ht_server=gethostbyname(smtp_host)) == NULL) {
24 perror("gethostbyname failed!");
25 exit(1);
26 }
27
28 //make a socket
29 if ((sock_server = socket(AF_INET,SOCK_STREAM,0)) == INVALID_SOCKET) {
30 perror("make socket error!");
31 exit(1);
32 };
33
34 //initial the server addresss
35 memset(&addr_server,0,sizeof(addr_server));
36 addr_server.sin_family=AF_INET;
37 addr_server.sin_port=htons(smtp_port);
38 memcpy(&addr_server.sin_addr,ht_server->h_addr_list[0],ht_server->h_length);
39
40 //client connect to server
41 if(connect(sock_server,(LPSOCKADDR)&addr_server,sizeof(addr_server)) == SOCKET_ERROR) {
42 perror("connect error!");
43 exit(1);
44 };
45
46 //read and write characters to the server
47 char buf[100]="EHLO";
48 send(sock_server,buf,strlen(buf),0);
49 recv(sock_server,buf,sizeof(buf),0);
50 puts(buf);
51
52 //When your application is finished call WSACleanup
53 if (WSACleanup() == SOCKET_ERROR) {
54 perror("WSACleanup failed\n");
55 }
56
57 return 0;
58 }
59
浙公网安备 33010602011771号