分类:
2010-07-12 14:49:13
C++ Builder下三种UDP通信实现方法的比较(1)
主要讨论一下数据的接受:
memset(&sockaddr,0,sizeof(sockaddr));
/* 设置端口号 */
sockaddr.sin_port=htons(3000);
sockaddr.sin_family=AF_INET;
sockaddr.sin_addr.S_un.S_addr=htonl(INADDR_ANY);
sock = socket(AF_INET,SOCK_DGRAM,0);
if(sock
== INVALID_SOCKET)
{
Application->MessageBoxA("Socket Open failed","Error",MB_OK);
WSACleanup();
return;
}
result = bind(sock,(LPSOCKADDR)&sockaddr,sizeof
sockaddr);
if(result == SOCKET_ERROR)
{
Application->MessageBoxA("Bind Error","Error",MB_OK);
WSACleanup();
return;
}
/* 自写函数getFileReady打开一个日志文件等待记录数据 */
if(
!getFileReady() )
{
WSACleanup();
return;
}
/* 启动线程,接受数据 */
recvFlag = true;
tudpr = new
TUDPR(true);
tudpr->Resume();
}
TUDPR是负责受信的线程,其类
定义如下:
class
TUDPR : public TThread
{
private:
protected:
void __fastcall Execute();
public:
__fastcall TUDPR(bool
CreateSuspended);
};
线程内的完整处理如下:
#include
#pragma hdrstop
#include
#include
"TUDPR.h"
#include "Monitor.h"
extern
int m_sendRcvFlag;
extern SOCKET sock;
extern
WSADATA wsaData;
extern SOCKADDR_IN sockaddr;
#pragma package(smart_init)
__fastcall TUDPR::TUDPR(bool CreateSuspended)chulia200020012010-07-13 14:05:51
高分求UDP穿透NAT网关代码(Delphi) http://topic.csdn.net/t/20040419/21/2985054.html Delphi 网络测速器附源代码 http://www.codefans.net/soft/6803.shtml 利用DELPHI编程编写Socket通信程式 http://www.huinu.com/viewnews-41262.html
chinaunix网友2010-07-13 13:19:15
如何查看本机端口占用的程序 http://www.ieing.cn/html-37989-1.html 1. 在"运行"中输入CMD 2.在启动的窗口中输入netstat -ano,就可以看到所有端口占用的情况,记下占用80端口的程序的PID 3.打开"任务管理器",点击菜单栏的"查看",再点击"选择列",选上"PID(进程标识符)" 4.在进程中找个相应的PID值,结束进程即可 一、找出自身开放的端口 扫描端口,然后找漏洞是攻击者入侵的基本思路。可以说,机器上开放的端口越多,攻击者入侵的机会就越大,因此我们可以通过关闭一些我们不用的端口来提高电脑的安全性。 那如何知道我们的Windows XP开放了哪些端口呢?我们可以用命令"Netstat"来查看系统中开放的端口。 我们需要用到这个命令的两个参数:-a、-n。参数-a显示当前所有连接和侦听端口,而参数-n以数字格式显示地址和端口号(而不是尝试查找名称),两者可以结合起来使用:Netstatan(如图1),就能查看当前端口的开放情况。
chinaunix网友2010-07-13 13:15:48
获得当前系统的tcp所有打开端口及ip地址 提交日期:2003-11-22 作者:cjsh 关键词:tcp 端口 ip地址 ip helper api //gettcptable函数单元 unit untiphlpapi; interface uses windows, sysutils, winsock; type eiphlperror = class(exception); //----------------tcp结构------------------------------------------------ ptmibtcprow = ^tmibtcprow; tmibtcprow = packed record dwstate : dword;//状态 dwlocaladdr
chulia200020012010-07-13 11:58:44
如何编写用TCP/IP的通讯程序 http://tech.ddvip.com/2006-03/11437446001179.html BCB 网络组件的使用 http://hi.baidu.com/jiemnij/blog/item/8a641cfa124a246c024f5678.html TServerSocket和TClientSocket 的使用 http://caimingdong2008.blog.163.com/blog/static/5045242920081021104037964/
chulia200020012010-07-13 11:46:52
请教:如何使用NMUDP控件实现UDP广播效果? http://topic.csdn.net/t/20010210/13/67463.html 哪位知道如何使用NMUDP控件实现UDP广播效果? 依稀记得是把接收IP设成一个特殊的地址就可以了,但不记得具体是什么了. 将IP设置为255.255.255.255试试!理论上是这样的,我没有条件测试! 这有篇文章:你可以看看! 利用特殊IP地址实现网络广播 我们在编制网络应用程序时,经常需要将一份消息同时发送给网络上的所有用户,这叫做消息的广播。网络消息的广播技术在编制多媒体网上演示、网络会议等程序时有重要的意义。 一、技术要点分析 本文所介绍的网络技术是利用IP协议中的特殊地址实现的。IP协议是建立TCP/IP网络的最基本协议,它定义了在整个TCP/IP网络上传输数据所用的基本单元。 在使用TCP/IP协议的网络环境中,一台计算机有一个主机地址,同时,一个网络也被分配了一个网络地址(见表1)。 为