紧急求救,怎么用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;} cxgrid的单元格在光标到时都会全选里面内容,能否不全选? 请教关于delphi安装的问题 求教:DATETIME类型字段求和的问题,一个SQL语句的写法,有分~ 用过cxGrid的人来接分 高分求助,不够可以再加(目录递归问题) 正在做VCL开发的,大家联系 哪有实现API直接打印的控件或代码? 谁能给我一个访问 数据库类 的例子 多线程 没有TAggregate对象的时候是如何实现在Master对Detail中的某些字段的统计?请不吝赐教! 各位高手 谁能告诉我 如何判断电脑装了什么浏览器? 各位高手 谁能告诉我 如何判断电脑装了什么浏览器?
原来很简单啊:
// 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;
}