文件名称:tcp服务器客户端demo
文件大小:28KB
文件格式:RAR
更新时间:2021-11-11 15:34:03
socket tcp iocp select ioctl
使用VS2015编译通过 程序启动命令行 --workmode 0-5 --netmode 0 --ip 127.0.0.1 --port 6000 在程序启动时候创建一个工作模式的代理来区分是否启动服务器以及是阻塞方式还是非阻塞方式 在WorkModeProxy中根据配置决定使用Socket的类型,以及工作模式的类型 支持使用不同的socket,可以通过SocketFactory进行创建,SocketFactory本身是一个单件 代码中使用了单件模式,工厂模式,代理模式 代码中使用了多线程,CRITICAL_SECTION 网络通讯使用了win sock 支持阻塞式客户端,阻塞式服务器,使用IOCTL,Select,IOCP实现了非阻塞式服务器
【文件预览】:
tcp_demo
----.vs()
--------tcp_demo()
----tcp_demo()
--------WorkModeProxy.cpp(1KB)
--------stdafx.cpp(295B)
--------WorkModeNotBlockServerIOCTL.h(369B)
--------IWorkMode.cpp(95B)
--------tcp_demo.cpp(904B)
--------IWorkMode.h(145B)
--------ISocket.cpp(85B)
--------stdafx.h(320B)
--------WorkModeBlockServer.h(276B)
--------WorkModeNotBlockServerSelect.h(303B)
--------tcp_demo.vcxproj(8KB)
--------SocketFactory.cpp(503B)
--------targetver.h(314B)
--------WinSocket.h(638B)
--------WinSocket.cpp(2KB)
--------WorkModeBlockServer.cpp(1KB)
--------CriticalSection.cpp(339B)
--------CriticalSection.h(191B)
--------tcp_demo.vcxproj.filters(4KB)
--------SocketFactory.h(228B)
--------src()
--------WorkModeNotBlockServerIOCTL.cpp(3KB)
--------WorkModeNotBlockServerIOCP.cpp(6KB)
--------WorkModeNotBlockServerSelect.cpp(3KB)
--------WorkModeNotBlockServerIOCP.h(562B)
--------WorkModeBlockClient.h(307B)
--------ServerDefine.h(754B)
--------WorkModeBlockClient.cpp(1KB)
--------ISocket.h(524B)
--------tcp_demo.vcxproj.user(420B)
--------ReadMe.txt(7KB)
--------WorkModeProxy.h(212B)
----tcp_demo.sln(1KB)