紧急求救,怎么用dll封装udp 因为matlab中用到,不会用matlab的udp功能问各位高手可不可以在Dlephi做一个Dll,通过调用其中函数实现udp方式传输数据,初步打算用Indy各位有没有现成例子可参考谢过了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用VC搞定了原来很简单啊:// udpdll.cpp : 定义 DLL 的初始化例程。//#include "stdafx.h"#include "udpdll.h"#ifdef _DEBUG#define new DEBUG_NEW#endif////TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,BEGIN_MESSAGE_MAP(CudpdllApp, CWinApp)END_MESSAGE_MAP()// CudpdllApp 构造CudpdllApp::CudpdllApp(){ // TODO: 在此处添加构造代码, // 将所有重要的初始化放置在 InitInstance 中}// 唯一的一个 CudpdllApp 对象CudpdllApp theApp;// CudpdllApp 初始化BOOL CudpdllApp::InitInstance(){ CWinApp::InitInstance(); return TRUE;}//外部接口函数int CudpdllApp::SendUdpMessage(char *str,int num) { WORD wVersionRequested; WSADATA wsaData; int err; wVersionRequested = MAKEWORD( 1, 1 ); err = WSAStartup( wVersionRequested, &wsaData ); if ( err != 0 ) { return FALSE; } if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) { WSACleanup( ); return FALSE; }SOCKET sockClient = socket( AF_INET , SOCK_DGRAM , 0 ) ;SOCKADDR_IN addrSrv; addrSrv.sin_addr.S_un.S_addr = inet_addr("192.168.1.255") ; addrSrv.sin_family = AF_INET ; addrSrv.sin_port = htons(5000) ; int len = sizeof(SOCKADDR); while (1) { sendto( sockClient ,str ,num , 0 , (SOCKADDR*)&addrSrv, len ) ; Sleep(2000); } closesocket(sockClient) ; WSACleanup() ; return 0;} 一个关于数据库查询问题 怎样将控件的所有属性保存到一个文件或者字段中,需要时再根据文件或者字段恢复属性? BDE可否连接SQL2005(非ODBC) 请问用delphi+sqlserver怎么实现数学公式 声明了一个ADODataSet变量,引用时出错,请大侠指点(附代码)。 简单的FTP 时的一个类型匹配问题 关于webbrowser的两个问题! delphi7没有indy的例子?? 数据库中查找记录和加记录,帮我看看我的代码错在哪? 程序员第七期专家门诊的一个错误! 各位高手 谁能告诉我 如何判断电脑装了什么浏览器? 各位高手 谁能告诉我 如何判断电脑装了什么浏览器?
原来很简单啊:
// udpdll.cpp : 定义 DLL 的初始化例程。
//
#include "stdafx.h"
#include "udpdll.h"#ifdef _DEBUG
#define new DEBUG_NEW
#endif//
//TODO: 如果此 DLL 相对于 MFC DLL 是动态链接的,BEGIN_MESSAGE_MAP(CudpdllApp, CWinApp)
END_MESSAGE_MAP()
// CudpdllApp 构造CudpdllApp::CudpdllApp()
{
// TODO: 在此处添加构造代码,
// 将所有重要的初始化放置在 InitInstance 中
}
// 唯一的一个 CudpdllApp 对象CudpdllApp theApp;
// CudpdllApp 初始化BOOL CudpdllApp::InitInstance()
{
CWinApp::InitInstance();
return TRUE;
}
//外部接口函数
int CudpdllApp::SendUdpMessage(char *str,int num)
{
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD( 1, 1 );
err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 )
{
return FALSE;
}
if ( LOBYTE( wsaData.wVersion ) != 1 ||
HIBYTE( wsaData.wVersion ) != 1 )
{
WSACleanup( );
return FALSE;
}
SOCKET sockClient = socket( AF_INET , SOCK_DGRAM , 0 ) ;
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = inet_addr("192.168.1.255") ;
addrSrv.sin_family = AF_INET ;
addrSrv.sin_port = htons(5000) ;
int len = sizeof(SOCKADDR);
while (1)
{ sendto( sockClient ,str ,num , 0 ,
(SOCKADDR*)&addrSrv, len ) ;
Sleep(2000); }
closesocket(sockClient) ;
WSACleanup() ; return 0;
}