#include "stdafx.h" #include <windows.h> #include <windowsx.h> #include "resource.h" #include "MainDlg.h" #include <winsock2.h> /* Template designed by RuPeng.com. Please visit http://www.rupeng.com for more information 如鵬網 (http://www.rupeng.com)大學生 計算機學習社區,提供大量免費視頻學 習教程,提供個性化一對一學習指導 */ BOOL WINAPI Main_Proc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) { switch(uMsg) { HANDLE_MSG(hWnd, WM_INITDIALOG, Main_OnInitDialog); HANDLE_MSG(hWnd, WM_COMMAND, Main_OnCommand); HANDLE_MSG(hWnd,WM_CLOSE, Main_OnClose); } return FALSE; } BOOL Main_OnInitDialog(HWND hwnd, HWND hwndFocus, LPARAM lParam) { return TRUE; } void ShowError() { TCHAR* lpMsgBuf; FormatMessage (FORMAT_MESSAGE_ALLOCATE_BU FFER| FORMAT_MESSAGE_FROM_SYSTE M,NULL,GetLastError (),MAKELANGID (LANG_NEUTRAL,SUBLANG_DEFAU LT),(LPTSTR)&lpMsgBuf,0,NULL); MessageBox (NULL,lpMsgBuf,"",MB_ICONERROR ); } void SocketTest() { // LoadLibrary ("libwsock32.dll"); WSADATA wsaData;//初 始化socket庫 WSAStartup (MAKEWORD(2,0),&wsaData); SOCKET sock=socket (AF_INET,SOCK_STREAM,IPPROTO_ TCP); SOCKADDR_IN sa; sa.sin_family=AF_INET; sa.sin_port=htons (IPPORT_SMTP); sa.sin_addr.S_un.S_addr=inet_addr ("123.125.50.135"); if(connect(sock, (SOCKADDR *)&sa,sizeof(sa)) ==SOCKET_ERROR) { ShowError(); return; } TCHAR buff[256]; ZeroMemory(buff,sizeof (buff)/sizeof(TCHAR)); recv(sock,buff,sizeof (buff)/sizeof(TCHAR),0); MessageBox (NULL,buff,TEXT("dfdf"),MB_OK); TCHAR hello[]="Quit\n"; send(sock,hello,sizeof (hello)/sizeof(TCHAR),0); ZeroMemory(buff,sizeof (buff)/sizeof(TCHAR)); recv(sock,buff,sizeof (buff)/sizeof(TCHAR),0); MessageBox (NULL,buff,TEXT("dfdf"),MB_OK); closesocket(sock); WSACleanup(); } //Function ShowError; void Main_OnCommand(HWND hwnd, int id, HWND hwndCtl, UINT codeNotify) { switch(id) { case IDC_OK: { SocketTest(); } break; case IDC_CANCEL: { MessageBox(hwnd,TEXT("Your click is canceled"),TEXT ("SocketClient"),MB_OK); } default: break; } } void Main_OnClose(HWND hwnd) { EndDialog(hwnd, 0); }
【VC++】socket程序
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.