用CSocket写一个Ping程序,在窗口工程中可以实现,在控制台程序中不能实现,为什么,可以给一个源码吗? CSocket m_UDPSocket;
BYTE bs1[50]={0x0,0x00,0x0,0x10,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x43,0x4b,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x0,0x0,0x21,0x0,0x1};
if (!AfxSocketInit())
{
AfxMessageBox("Init Fail !");
} if(!m_UDPSocket.Create(5555,SOCK_DGRAM))
{
AfxMessageBox("Failed Create Socket");
} m_UDPSocket.SendTo((void*)bs1,50,137,"200.1.1.1",0);
BYTE bs1[50]={0x0,0x00,0x0,0x10,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x43,0x4b,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x0,0x0,0x21,0x0,0x1};
if (!AfxSocketInit())
{
AfxMessageBox("Init Fail !");
} if(!m_UDPSocket.Create(5555,SOCK_DGRAM))
{
AfxMessageBox("Failed Create Socket");
} m_UDPSocket.SendTo((void*)bs1,50,137,"200.1.1.1",0);
解决方案 »
- 如何彻底删除掉一个对话框的类??
- 在小屏幕上显示提示框,一般用什么字体?比较好看?
- 请教WSARecv问题,WSA_IO_PENDING后再调用出错
- 如何在vs2003.net中进行消息映射?
- 大家新年好!问一个菜问题,关于宏.
- 大家好!急问:语言选择!在线等待!多谢!!!
- 关于如何获得 组播通信 的完整组成员信息,并更新
- 如何让STATIC TEXT显示一个变化的字符串?
- 如何捕捉对网页的键盘输入呢?
- 大菜鸟又提问了!(VC++的消息映射)
- 怎样在基于对话框中添加控件类如CTabCtrlEX myctrl,CTabCtrlEX为自定义类,不通过工具面板及封壮族成OCX(目前也不会),怎样做
- 打印的问题,请问我能用什么方法打印一表单,从指定的页到指定的页
新建一个代MFC支持的控制台程序,加入Afxsock.h头文件就成了。// Test.cpp : Defines the entry point for the console application.
//#include "stdafx.h"
#include "Test.h"
#include <Afxsock.h>#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif/////////////////////////////////////////////////////////////////////////////
// The one and only application objectCWinApp theApp;using namespace std;int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
int nRetCode = 0; // initialize MFC and print and error on failure
if (!AfxWinInit(::GetModuleHandle(NULL), NULL, ::GetCommandLine(), 0))
{
// TODO: change error code to suit your needs
cerr << _T("Fatal Error: MFC initialization failed") << endl;
nRetCode = 1;
}
else
{
// TODO: code your application's behavior here.
CString strHello;
strHello.LoadString(IDS_HELLO);
cout << (LPCTSTR)strHello << endl;
} CSocket m_UDPSocket;
BYTE bs1[50]={0x0,0x00,0x0,0x10,0x0,0x1,0x0,0x0,
0x0,0x0,0x0,0x0,0x20,0x43,0x4b,0x41,
0x41,0x41,0x41,0x41,0x41,0x41,0x41,
0x41,0x41,0x41,0x41,0x41,0x41,0x41,
0x41,0x41,0x41,0x41,0x41,0x41,0x41,
0x41,0x41,0x41,0x41,0x41,0x41,0x41,
0x41,0x0,0x0,0x21,0x0,0x1};
if (!AfxSocketInit())
{
cout << (LPCTSTR)"Init Fail !" << endl;
} if(!m_UDPSocket.Create(5555,SOCK_DGRAM))
{
cout << (LPCTSTR)"Failed Create Socket" << endl;
}
else
{
cout << (LPCTSTR)"Create Socket Success" << endl;
} m_UDPSocket.SendTo((void*)bs1,50,137,"200.1.1.1",0);
return nRetCode;
}
为什么收不到Ping包的回应!
在窗口程序中可以!