请问,如何编程使A机的c端口与B机的d端口通讯?(非MFC,纯API)

swxlion 2004-08-30 11:27:19
RT

我现在遇到一个问题,要使A机的c端口与B机的d端口通讯。
目前我只知道如何使A机的e端口与B机的e端口通讯。

因为是时实系统中使用,所以不能使用MFC,需要使用API。

现请教大家。
...全文
125 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
PiggyXP 2004-09-01
  • 打赏
  • 举报
回复
可以的:)
swxlion 2004-09-01
  • 打赏
  • 举报
回复
谢谢大家,这下解决了.我结贴了^_^
swxlion 2004-09-01
  • 打赏
  • 举报
回复
只是A机作Server,B机不做。
这样的话,B机只bind,不listen,可以吗?
rwdx 2004-08-31
  • 打赏
  • 举报
回复
什么系统?什么端口?
allenq 2004-08-31
  • 打赏
  • 举报
回复
就是啊...A机的8010端口,和B机的8075端口分别开启socket侦听listen就行了啊
zhangshengyu 2004-08-31
  • 打赏
  • 举报
回复
before bind 10.1.152.76:8075 then connect 10.1.152.11:8010
PiggyXP 2004-08-31
  • 打赏
  • 举报
回复
像sevencat(七猫)说的,用最基本的几个socket api就可以实现啊

只要注意不要使用MFC的CSocket类就好了,在linux和windows系统中的socket使用都是类似的
large_small 2004-08-31
  • 打赏
  • 举报
回复
TO:swxlion()

你的那种方法必须在A(server)先开启,B(client)才能连接哟

要是A或是B都能当Server的话,你必在A和B上都打开同样的端口作Listen状哦
swxlion 2004-08-31
  • 打赏
  • 举报
回复
如果B机不开,行不行呢?
adamx 2004-08-31
  • 打赏
  • 举报
回复
建两个socket 分别在8010 和 8075 listen 不就可以了吗?
sevencat 2004-08-31
  • 打赏
  • 举报
回复
bind
connect
send
recv
socket
这几个函数估计就够 了吧。我想。
gdy119 2004-08-31
  • 打赏
  • 举报
回复
就是啊...A机的8010端口,和B机的8075端口分别开启socket侦听listen就行了啊
建议用如上所说的方法!
swxlion 2004-08-31
  • 打赏
  • 举报
回复
那请问,是不是这样:
A:( Serv )

... ...
socket( ... );
... ...
local.sin_addr.s_addr = htonl( INADDR_ANY );
... ...
local.sin_port = htons( 8010 );
... ...
bind( ... );
... ...
listen( ... );
... ...
while( true )
{
accept( ... );
... ...
}


B:( Client )

... ...
socket( ... );
... ...
bindaddr.sin_addr.s_addr = inet_addr( Serv );
bindaddr.sin_port = htons( 8075 );
... ...
bind( ..., ( struct sockaddr * )&bindaddr, sizeof( bindaddr) );
... ...
serv.sin_addr.s_addr = inet_addr( Serv );
serv.sin_port = htons( 8010 );
... ...
connect( ..., ( struct sockaddr * )&serv, sizeof( serv ) );
... ...




swxlion 2004-08-31
  • 打赏
  • 举报
回复
win2000。

比如说:10.1.152.11:8010 与 10.1.152.76:8075 通讯.(TCP)
┌────────────────────────────────────────────┐ │ Dotpot PortReady 版本1.6 自述文件 │ ├────────────────────────────────────────────┤ │ * 请用记事本在窗口最大化条件下阅读此文件│ │ │ │ 一、软件简介 │ │ │ │ Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口标识│ │的功能,可以用来快速地获取端口标识(Banner),内定对80端口标识进行特别处理,能方便地获取Web│ │Server类型。PortReady 1.6同时提供Windows图形版本和控制台版本,不管是在图形环境下,还是在│ │控制台模式中,都可以方便自如地进行端口扫描。 │ │ │ │ │ │ 二、使用方法 │ │ │ │ 图形版本使用方法一看即知,在此不再赘述。 │ │ │ │ 控制台版本使用方法如下: │ │ │ │ 用法: │ │ PR.EXE <起始地址>[-停止地址] <端口1-端口2|端口1,端口2,...> [选项] │ │ │ │ 选项: │ │ -b 获取端口标识 │ │ -e 显示英文信息 │ │ -o 只显示开放端口 │ │ -d:delay 扫描延时,默认2秒 │ │ -t:thread 线程数目,默认100个线程 │ │ │ │ 例如: │ │ PR.EXE 192.168.0.1 1-65535 -d:1 -e │ │ PR.EXE 192.168.0.1 1-2000 -t:200 -v -b │ │ PR.EXE 192.168.0.1-192.168.9.255 21,3389 -t:200 │ │ │ │ 三、常见问题 │ │ │ │ 1.PortReady的运行环境是什么? │ │ 答:没有进行过严格的运行环境测试。作者在Win98/2000下编译运行正常,按推断应该能运│ │ 行在 Win95/98/ME/NT/2000/XP下。推荐运行于Win2000下,以获得更高的稳定性和更快│ │ 的速度。 │ │ │ │ 2.PortReady用什么原理扫描的? │ │ 答:用TCP的Connect方式扫描的。端口扫描之前没有进行Ping扫描,原因有二:1.这样能对│ │ 屏蔽ICMP数据的主进行端口扫描;2.Ping扫描太繁琐了,不会,呵呵~~ │ │ │ │ 3.超时时间怎样选择? │ │ 答:请根据网速酌情选择超时时间。默认Connect超时时间为2秒,如果要获得更快的速度,│ │ 可设为 1秒,但可能会有漏报现象;相反,如果网速较慢或要更高的准确率,可适当增│ │ 加Connect超时时间,一般不要超过5秒,最大20秒。 │ │ │ │ 4.线程数目怎样选择? │ │ 答:根据网速和系统情况选择线程数目。默认线程数目为100个,最大为300个线程。如果出│ │ 现线程阻塞,请适当减小线程数目。一般而言,Win2000下可使用更多线程进行扫描。 │ │ │ │ 5.扫描无法停止时怎么办? │ │ 答:这是出现线程阻塞的缘故。此时应强行关闭程序:命令行版本下按Ctrl+C,图形版本如│ │ 果单击“停止扫描”后依然没有反应,请单击“关闭”按钮,此时可能出现内存泄漏。│ │ │ │ 6.扫描结果在哪里? │ │ 答:无论是图形版本还是控制台版本,扫描结果都保存在PortList.txt里。运行图形版本程│ │ 序 PortReady.exe,如果没有关闭“保留历史纪录”选项(默认保留历史纪录),将自动│ │ 导入PortList.txt中的结果。 │ │ │ │ 7.怎样卸载PortReady? │ │ 答:PortReady是“绿色软件”,所有参数配置都保留在PortReady.ini中,没有在注册表保│ │ 留任何信息。如果要卸载,请自行删除PortReady的相关文件(见下面:文件列表)。 │ │ │ │ 8.PortReady是用什么编写的? │ │ 答:在Visual C++6.0下用Win32 API编写的。发行版本用LCC-Win32编译的,因为LCC-Win32│ │ 编译可执行文件短小,运行快速。作者没使用相对臃肿的MFC,因为不会,嘿嘿~~ │ │ │ │ 9.PortReady的源代码在哪里有下载,怎样编译? │ │ 答:点普工作室主页上有下载,网址是:http://dotpot.533.net 。源代码包内含有图形版│ │ 本 LCC-Win32源程序、图形版本VC源程序和控制台版本源程序。你可以选择你熟悉的编│ │ 译工具进行编译(LCC-Win32或Visual C++ 6.0)。 │ │ │ │ 10.PortReady不保留版权么? │ │ 答:是的。作者不保留本软件的任何权利,用户可免费拷贝、分发、修改本软件及软件源代│ │ 码。如果乐意,可以通知原作者一声,那样原作者会很高兴的:)…… │ │ │ │ 11.还有其它问题怎么办?   │ │ 答:可以到点普工作室主页看看,在留言板上留言,或者给作者写信:yonsm@163.com。 │ │ │ │ │ │ 四 、文件列表 │ │ │ │ PortReady.exe 图形版本主程序文件 │ │ PortReady.ini 图形版本参数配置文件 │ │ PortList.txt 扫描生成的结果文件 │ │ PR.exe 控制台版本主程序文件 │ │ Readme.txt 自述文件 │ │ │ │ │ │ 五 、发布历史 │ │ │ │ PortReady 1.6 发布日期:01/31/2002,整理源代码,改写控制台版本。这可能是终结版本│ │ PortReady 1.2α 发布日期:11/01/2001,图形版增加域名解析、远程登录、结果排序等功能│ │ PortReady 1.1β 发布日期:09/01/2001,图形界面测试版 │ │ PortReady 1.0 发布日期:07/06/2001,更改显示方式,增加获取端口标识等功能 │ │ PortScan 0.92 发布日期:05/27/2001,第一个发布版本,感谢大家测试 │ │ PortScan 0.7 发布日期:05/20/2001,用于进行内部测试 │ │ │ │ │ │ │ └────────────────────────────────────────────┘
┌────────────────────────────────────────────┐ │ Dotpot PortReady 版本1.6 自述文件 │ ├────────────────────────────────────────────┤ │ * 请用记事本在窗口最大化条件下阅读此文件│ │ │ │ 一、软件简介 │ │ │ │ Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口标识│ │的功能,可以用来快速地获取端口标识(Banner),内定对80端口标识进行特别处理,能方便地获取Web│ │Server类型。PortReady 1.6同时提供Windows图形版本和控制台版本,不管是在图形环境下,还是在│ │控制台模式中,都可以方便自如地进行端口扫描。 │ │ │ │ │ │ 二、使用方法 │ │ │ │ 图形版本使用方法一看即知,在此不再赘述。 │ │ │ │ 控制台版本使用方法如下: │ │ │ │ 用法: │ │ PR.EXE <起始地址>[-停止地址] <端口1-端口2|端口1,端口2,...> [选项] │ │ │ │ 选项: │ │ -b 获取端口标识 │ │ -e 显示英文信息 │ │ -o 只显示开放端口 │ │ -d:delay 扫描延时,默认2秒 │ │ -t:thread 线程数目,默认100个线程 │ │ │ │ 例如: │ │ PR.EXE 192.168.0.1 1-65535 -d:1 -e │ │ PR.EXE 192.168.0.1 1-2000 -t:200 -v -b │ │ PR.EXE 192.168.0.1-192.168.9.255 21,3389 -t:200 │ │ │ │ 三、常见问题 │ │ │ │ 1.PortReady的运行环境是什么? │ │ 答:没有进行过严格的运行环境测试。作者在Win98/2000下编译运行正常,按推断应该能运│ │ 行在 Win95/98/ME/NT/2000/XP下。推荐运行于Win2000下,以获得更高的稳定性和更快│ │ 的速度。 │ │ │ │ 2.PortReady用什么原理扫描的? │ │ 答:用TCP的Connect方式扫描的。端口扫描之前没有进行Ping扫描,原因有二:1.这样能对│ │ 屏蔽ICMP数据的主进行端口扫描;2.Ping扫描太繁琐了,不会,呵呵~~ │ │ │ │ 3.超时时间怎样选择? │ │ 答:请根据网速酌情选择超时时间。默认Connect超时时间为2秒,如果要获得更快的速度,│ │ 可设为 1秒,但可能会有漏报现象;相反,如果网速较慢或要更高的准确率,可适当增│ │ 加Connect超时时间,一般不要超过5秒,最大20秒。 │ │ │ │ 4.线程数目怎样选择? │ │ 答:根据网速和系统情况选择线程数目。默认线程数目为100个,最大为300个线程。如果出│ │ 现线程阻塞,请适当减小线程数目。一般而言,Win2000下可使用更多线程进行扫描。 │ │ │ │ 5.扫描无法停止时怎么办? │ │ 答:这是出现线程阻塞的缘故。此时应强行关闭程序:命令行版本下按Ctrl+C,图形版本如│ │ 果单击“停止扫描”后依然没有反应,请单击“关闭”按钮,此时可能出现内存泄漏。│ │ │ │ 6.扫描结果在哪里? │ │ 答:无论是图形版本还是控制台版本,扫描结果都保存在PortList.txt里。运行图形版本程│ │ 序 PortReady.exe,如果没有关闭“保留历史纪录”选项(默认保留历史纪录),将自动│ │ 导入PortList.txt中的结果。 │ │ │ │ 7.怎样卸载PortReady? │ │ 答:PortReady是“绿色软件”,所有参数配置都保留在PortReady.ini中,没有在注册表保│ │ 留任何信息。如果要卸载,请自行删除PortReady的相关文件(见下面:文件列表)。 │ │ │ │ 8.PortReady是用什么编写的? │ │ 答:在Visual C++6.0下用Win32 API编写的。发行版本用LCC-Win32编译的,因为LCC-Win32│ │ 编译可执行文件短小,运行快速。作者没使用相对臃肿的MFC,因为不会,嘿嘿~~ │ │ │ │ 9.PortReady的源代码在哪里有下载,怎样编译? │ │ 答:点普工作室主页上有下载,网址是:http://dotpot.533.net 。源代码包内含有图形版│ │ 本 LCC-Win32源程序、图形版本VC源程序和控制台版本源程序。你可以选择你熟悉的编│ │ 译工具进行编译(LCC-Win32或Visual C++ 6.0)。 │ │ │ │ 10.PortReady不保留版权么? │ │ 答:是的。作者不保留本软件的任何权利,用户可免费拷贝、分发、修改本软件及软件源代│ │ 码。如果乐意,可以通知原作者一声,那样原作者会很高兴的:)…… │ │ │ │ 11.还有其它问题怎么办?   │ │ 答:可以到点普工作室主页看看,在留言板上留言,或者给作者写信:yonsm@163.com。 │ │ │ │ │ │ 四 、文件列表 │ │ │ │ PortReady.exe 图形版本主程序文件 │ │ PortReady.ini 图形版本参数配置文件 │ │ PortList.txt 扫描生成的结果文件 │ │ PR.exe 控制台版本主程序文件 │ │ Readme.txt 自述文件 │ │ │ │ │ │ 五 、发布历史 │ │ │ │ PortReady 1.6 发布日期:01/31/2002,整理源代码,改写控制台版本。这可能是终结版本│ │ PortReady 1.2α 发布日期:11/01/2001,图形版增加域名解析、远程登录、结果排序等功能│ │ PortReady 1.1β 发布日期:09/01/2001,图形界面测试版 │ │ PortReady 1.0 发布日期:07/06/2001,更改显示方式,增加获取端口标识等功能 │ │ PortScan 0.92 发布日期:05/27/2001,第一个发布版本,感谢大家测试 │ │ PortScan 0.7 发布日期:05/20/2001,用于进行内部测试 │ │ │ │ │ │ │ └────────────────────────────────────────────┘
网络安全试题 部门: 姓名: 成绩: 第一部分 选择题(50分) 1、Ipsec协议主要应用属于哪一层?[ ] A、应用层 B、传输层 C、Internet层 D、网络层 2、黑客搭线窃听属于哪一类风险? [ ] A、信息存储安全 B、信息传输安全 C、信息访问安全 D、以上都不正确 3、有关对称密钥加密技术的说法,哪个是确切的? [ ]   A、又称秘密密钥加密技术,收信方和发信方使用相同的密钥。   B、又称公开密钥加密,收信方和发信方使用的密钥互不相同   C、又称秘密密钥加密技术,收信方和发信方使用不同的密钥   D、又称公开密钥加密,收信方和发信方使用的密钥互不相同 4、典型的针对系统漏洞的DoS攻击方式是:[ ] A、Syn flood B、Smurf C、Ping of Death D、TCP flood 5、在下面的VPN技术中,属于二层的VPN技术是:[ ] A、PPTP VPN B、GRE VPN C、IPSec VPN 6、下面不属于木马特征的是( ) A. 自动更换文件名,难于被发现 B. 程序执行时不占太多系统资源 C. 不需要服务端用户的允许就能获得系统的使用权 D. 造成缓冲区的溢出,破坏程序的堆栈 7、RIP用什么路由算法?[ ] A、link state B、routed information C、link together D、distance vector 8、给出一个地址,前缀为/24,将这些地址用前缀/28来划分子网,可得多少个子网?[ ] A、64 B、128 C、32 D、16 9、( )就是应用程序的执行实例(或称一个执行程序),是程序动态的描述。 A、线程 B、程序 C、进程 D、堆栈 10、WINDOWS主推荐使用[ ]格式 A、NTFS B、FAT32 C、FAT D、LINUX 11、UNIX系统的目录结构是一种[ ]结构 A、树状 B、环状 C、星状 D、线状 12、[ ]协议主要用于加密制 A、HTTP B、FTP C、TELNET D、SSL 13、凡是基于网络应用的程序都离不开( )。 A、Socket B、Winsock C、注册表 D、MFC编程 14、为了防御网络监听,最常用的方法是[ ] A、采用物理传输(网络) B、信息加密 C、无线网 D、使用专线传输 15、向有限的空间输入超长的字符串是[ ]攻击手段。 A、缓冲区溢出 B、网络监听 C、端口扫描 D、IP欺骗 16、使网络服务器中充斥着大量要求回复的信息,消耗带宽,导致网络或系统停止正常 服务,这属于[ ]漏洞 A、拒绝服务 B、文件共享 C、BIND漏洞 D、远程过程调用 17、输入法漏洞通过[ ]端口实现的。 A、21 B、23 C、445 D、3389 18. 一次字典攻击能否成功,很大因素上决定于( )。 A、字典文件 B、计算性能 C、网络速度 D、黑客经验 19. 信息风险主要指那些?[ ] (A) 信息存储安全 (B) 信息传输安全 (C) 信息访问安全 (D) 以上都正确 20. 下面不属于恶意代码攻击技术的是( )。 A、进程注入技术 B、超级管理技术 C、端口反向连接技术 D、自动生产技术 21. ( )是指有关管理、保护和发布敏感信息的法律、规定和实施细则。 A、安全策略 B、安全模型 C、安全框架 D、安全原则 22. 下面哪个属于对称算法( )。 A、数字签名 B、序列算法 C、RSA算法 D、数字水印 23. ( )用于客户和服务器建立起安全连接之前交换一系列信息的安全通道。 A、记录协议 B、会话协议 C、握手协议 D、连接协议 24. 通常被认为安防体系的基础的是_____。 [ ] (A) 人 (B) 技术 (C) 制度 (D) 产品 25. WWW的超链接中定位信息所在位置使用的是[ ]。 A. 超文本(hypertext)技术 B. 统一资源定位器(URL,Uniform Resource Locators) C. 超媒体(hypermedia)技术 D. 超文本标记语言HTML 第二部分 判断题(10分) ( )1.网络安全应具有以下四个方面的特征:保密性,完整性,可用性,可查性。 ( )2.现代密码体制把算法和密钥分开,只需要保证密钥的保密性就行了,算法是可以公开的 。 ( )3.拒绝服务攻击属于被动攻击的一种。 ( )4.DES 算法中对明文的处理过程分 3 个阶段: 首先是一个初始置换 IP, 用于重排明文分组的 64 比特数据. 然后是具有相同功能的 64 轮变换,每轮中都有置换和代换运算.最后是一个逆初始置换从而产生 64 比特的密文。 ( )5.公开密钥密码体制比对称密钥密码体制更为安全。 ( )6.Diffie-Hellman 算法的
┌────────────────────────────────────────────┐ │ Dotpot PortReady 版本1.6 自述文件 │ ├────────────────────────────────────────────┤ │ * 请用记事本在窗口最大化条件下阅读此文件│ │ │ │ 一、软件简介 │ │ │ │ Dotpot PortReady 是一个多线程的端口扫描工具,用于进行狂速端口扫描。它具有极快的速度│ │和方便友好的操作界面,能快速地对大网段范围进行 Connect方式端口扫描。同时具有获取端口标识│ │的功能,可以用来快速地获取端口标识(Banner),内定对80端口标识进行特别处理,能方便地获取Web│ │Server类型。PortReady 1.6同时提供Windows图形版本和控制台版本,不管是在图形环境下,还是在│ │控制台模式中,都可以方便自如地进行端口扫描。 │ │ │ │ │ │ 二、使用方法 │ │ │ │ 图形版本使用方法一看即知,在此不再赘述。 │ │ │ │ 控制台版本使用方法如下: │ │ │ │ 用法: │ │ PR.EXE <起始地址>[-停止地址] <端口1-端口2|端口1,端口2,...> [选项] │ │ │ │ 选项: │ │ -b 获取端口标识 │ │ -e 显示英文信息 │ │ -o 只显示开放端口 │ │ -d:delay 扫描延时,默认2秒 │ │ -t:thread 线程数目,默认100个线程 │ │ │ │ 例如: │ │ PR.EXE 192.168.0.1 1-65535 -d:1 -e │ │ PR.EXE 192.168.0.1 1-2000 -t:200 -v -b │ │ PR.EXE 192.168.0.1-192.168.9.255 21,3389 -t:200 │ │ │ │ 三、常见问题 │ │ │ │ 1.PortReady的运行环境是什么? │ │ 答:没有进行过严格的运行环境测试。作者在Win98/2000下编译运行正常,按推断应该能运│ │ 行在 Win95/98/ME/NT/2000/XP下。推荐运行于Win2000下,以获得更高的稳定性和更快│ │ 的速度。 │ │ │ │ 2.PortReady用什么原理扫描的? │ │ 答:用TCP的Connect方式扫描的。端口扫描之前没有进行Ping扫描,原因有二:1.这样能对│ │ 屏蔽ICMP数据的主进行端口扫描;2.Ping扫描太繁琐了,不会,呵呵~~ │ │ │ │ 3.超时时间怎样选择? │ │ 答:请根据网速酌情选择超时时间。默认Connect超时时间为2秒,如果要获得更快的速度,│ │ 可设为 1秒,但可能会有漏报现象;相反,如果网速较慢或要更高的准确率,可适当增│ │ 加Connect超时时间,一般不要超过5秒,最大20秒。 │ │ │ │ 4.线程数目怎样选择? │ │ 答:根据网速和系统情况选择线程数目。默认线程数目为100个,最大为300个线程。如果出│ │ 现线程阻塞,请适当减小线程数目。一般而言,Win2000下可使用更多线程进行扫描。 │ │ │ │ 5.扫描无法停止时怎么办? │ │ 答:这是出现线程阻塞的缘故。此时应强行关闭程序:命令行版本下按Ctrl+C,图形版本如│ │ 果单击“停止扫描”后依然没有反应,请单击“关闭”按钮,此时可能出现内存泄漏。│ │ │ │ 6.扫描结果在哪里? │ │ 答:无论是图形版本还是控制台版本,扫描结果都保存在PortList.txt里。运行图形版本程│ │ 序 PortReady.exe,如果没有关闭“保留历史纪录”选项(默认保留历史纪录),将自动│ │ 导入PortList.txt中的结果。 │ │ │ │ 7.怎样卸载PortReady? │ │ 答:PortReady是“绿色软件”,所有参数配置都保留在PortReady.ini中,没有在注册表保│ │ 留任何信息。如果要卸载,请自行删除PortReady的相关文件(见下面:文件列表)。 │ │ │ │ 8.PortReady是用什么编写的? │ │ 答:在Visual C++6.0下用Win32 API编写的。发行版本用LCC-Win32编译的,因为LCC-Win32│ │ 编译可执行文件短小,运行快速。作者没使用相对臃肿的MFC,因为不会,嘿嘿~~ │ │ │ │ 9.PortReady的源代码在哪里有下载,怎样编译? │ │ 答:点普工作室主页上有下载,网址是:http://dotpot.533.net 。源代码包内含有图形版│ │ 本 LCC-Win32源程序、图形版本VC源程序和控制台版本源程序。你可以选择你熟悉的编│ │ 译工具进行编译(LCC-Win32或Visual C++ 6.0)。 │ │ │ │ 10.PortReady不保留版权么? │ │ 答:是的。作者不保留本软件的任何权利,用户可免费拷贝、分发、修改本软件及软件源代│ │ 码。如果乐意,可以通知原作者一声,那样原作者会很高兴的:)…… │ │ │ │ 11.还有其它问题怎么办?   │ │ 答:可以到点普工作室主页看看,在留言板上留言,或者给作者写信:yonsm@163.com。 │ │ │ │ │ │ 四 、文件列表 │ │ │ │ PortReady.exe 图形版本主程序文件 │ │ PortReady.ini 图形版本参数配置文件 │ │ PortList.txt 扫描生成的结果文件 │ │ PR.exe 控制台版本主程序文件 │ │ Readme.txt 自述文件 │ │ │ │ │ │ 五 、发布历史 │ │ │ │ PortReady 1.6 发布日期:01/31/2002,整理源代码,改写控制台版本。这可能是终结版本│ │ PortReady 1.2α 发布日期:11/01/2001,图形版增加域名解析、远程登录、结果排序等功能│ │ PortReady 1.1β 发布日期:09/01/2001,图形界面测试版 │ │ PortReady 1.0 发布日期:07/06/2001,更改显示方式,增加获取端口标识等功能 │ │ PortScan 0.92 发布日期:05/27/2001,第一个发布版本,感谢大家测试 │ │ PortScan 0.7 发布日期:05/20/2001,用于进行内部测试 │ │ │ │ │
客户端开发文档 项目类别:基于对话框的MFC程序。 项目名称:MFCClient 一、 程序的初始化。 1、 在函数CMFCClientDlg::AddInit()中进行相应的操作。主要功能为对控件进行初始化。禁用控件和设置空间初始值。 2、 在CMFCClientDlg::InitInstance()中加载套接字库 二、 客户端单击“连接服务器”按钮后的操作。 1、 创建一个新线程,用于处理相关的SOCKET操作。线程函数为CMFCClientDlg的静态成员函数fnSocket(). 2、 fnSocket()的主要作用。 a、 使用函数CMFCClientDlg::CheckName(CString)对昵称进行检查 b、 创建套接字、检查输入的端口、与服务端进行连接以及循环接收来自服务端的消息。 c、 将应当禁用和开启的控件分别进行操作。 3、使用DisposeRecvMsg(Cstring str)对收到的消息进行处理。 三、 客户端单击“发送消息”按钮后的操作。 从文本控件中获得Cstring类型的数据,与想发送的目标客户端昵称根据之前的约定进行组合,然后转换为TCHAR的数据,再发送到所有的客户端。 四、 客户端单击“断开服务器”按钮后的操作 关闭套接字,此时,服务端将会收到关闭消息,从而作出相应的相应。 服务端开发文档 项目类别:基于对话框的MFC程序。 项目名称:MFCServer 一、 程序的初始化。 1、 在函数CMFCServerDlg::AddInit()中进行相应的操作。主要功能为对控件进行初始化。禁用控件和设置空间初始值。 2、 在CMFCServerApp::InitInstance()中加载套接字库 二、 服务端单击“开启服务器”按钮后的操作。 1、 创建一个新线程,用于处理相关的SOCKET操作。线程函数为CMFCServerDlg的静态成员函数fnSocket(). 2、 fnSocket()的主要作用。 a、 创建套接字、检查输入的端口、绑定套接字、监听端口以及使用select模型开始处理套接字。 b、 将应当禁用和开启的控件分别进行操作。 3、 维护用于存储客户端昵称和套字的Carray数组m_ClientMap 4、 使用函数DisposeRecvMsg(SOCKET s,Cstring str)来处理消息接收到的消息。 三、 服务端单击“停止服务器”按钮后的操作。 清空相关的数据和对相关控件的禁用进行操作。 四、 服务端单击“发送消息”按钮后的操作。 从文本控件中获得Cstring类型的数据,然后转换为TCHAR的数据,再发送到所有的客户端。

18,356

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧