易语言p2p服务器源码
系统结构:等待客户进入,服务器等待数据到达,开始启动,停止服务,开始监听,取回客户句柄,断开客户,取客户IP,取客户端口,发送WSA数据,发送数据,取回数据,检查连接状态,取本机名,取本机IP组,WSASocket,Socket,CloseSocket,Connect,Send,Recv,Bind,WSAStartup,WSACleanup,Htonl,Htons,Inet_ntoa,Inet_addr,Listen,Accept,Ntohs,CloseHandle,CreateThread,Gethostname,Gethostbyname,Getpeername,Select,Getsockname,WSAAsyncSelect,RtlMoveMemory,WSAAccept,WSASend,WSARecv,WSAGetLastError,GetSystemInfo,GetQueuedCompletionStatus,PostQueuedCompletionStatus,CreateIoCompletionPort_,CreateIoCompletionPort,GetLastError,
======启动窗口程序集
| |
| |------ _服务器_启动按钮_被单击
| |
| |------ _服务器_监听按钮_被单击
| |
| |------ 等待客户进入
| |
| |------ 服务器等待数据到达
| |
| |------ _服务器_发送按钮_被单击
| |
| |------ _服务器_取对方IP按钮_被单击
| |
| |------ _服务器_取对方端口按钮_被单击
| |
| |------ _服务器_端开客户按钮_被单击
| |
| |------ _服务器_停止按钮_被单击
| |
| |------ _时钟1_周期事件
| |
| |------ __启动窗口_创建完毕
| |
| |
======服务器类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 开始启动
| |
| |------ 停止服务
| |
| |------ 开始监听
| |
| |------ 取回客户句柄
| |
| |------ 断开客户
| |
| |------ 取客户IP
| |
| |------ 取客户端口
| |
| |------ 发送WSA数据
| |
| |------ 发送数据
| |
| |------ 取回数据
| |
| |------ 检查连接状态
| |
| |------ 取本机名
| |
| |------ 取本机IP组
| |
| |
======调用的Dll
| |
| |---[dll]------ WSASocket
| |
| |---[dll]------ Socket
| |
| |---[dll]------ CloseSocket
| |
| |---[dll]------ Connect
| |
| |---[dll]------ Send
| |
| |---[dll]------ Recv
| |
| |---[dll]------ Bind
| |
| |---[dll]------ WSAStartup
| |
| |---[dll]------ WSACleanup
| |
| |---[dll]------ Htonl
| |
| |---[dll]------ Htons
| |
| |---[dll]------ Inet_ntoa
| |
| |---[dll]------ Inet_addr
| |
| |---[dll]------ Listen
| |
| |---[dll]------ Accept
| |
| |---[dll]------ Ntohs
| |
| |---[dll]------ CloseHandle
| |
| |---[dll]------ CreateThread
| |
| |---[dll]------ Gethostname
| |
| |---[dll]------ Gethostbyname
| |
| |---[dll]------ Getpeername
| |
| |---[dll]------ Select
| |
| |---[dll]------ Getsockname
| |
| |---[dll]------ WSAAsyncSelect
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ WSAAccept
| |
| |---[dll]------ WSASend
| |
| |---[dll]------ WSARecv
| |
| |---[dll]------ WSAGetLastError
| |
| |---[dll]------ GetSystemInfo
| |
| |---[dll]------ GetQueuedCompletionStatus
| |
| |---[dll]------ PostQueuedCompletionStatus
| |
| |---[dll]------ CreateIoCompletionPort_
| |
| |---[dll]------ CreateIoCompletionPort
| |
| |---[dll]------ GetLastError
调用的DLL命令:
.DLL命令 WSASocket, 整数型, "ws2_32.dll", "WSASocketA", , 创建套接字
.参数 Family, 整数型, , 使用的通信协议的协议族
.参数 Type, 整数型, , 流套接字类型
.参数 Protocol, 整数型, , 使用的通信协议
.参数 pWSAprotocol, 整数型
.参数 Group, 整数型
.参数 Flags, 整数型
.DLL命令 Socket, 整数型, "ws2_32.dll", "socket", , 创建套接字
.参数 af, 整数型, , 使用的通信协议的协议族
.参数 type, 整数型, , 流套接字类型
.参数 protocol, 整数型, , 使用的通信协议
.DLL命令 CloseSocket, 整数型, "ws2_32.dll", "closesocket", , 销毁套接字
.参数 s, 整数型, , 套接字描述符
.DLL命令 Connect, 整数型, "ws2_32.dll", "connect", , 连接到服务器(TCP)
.参数 s, 整数型, , 套接字描述符
.参数 addr, Sockaddr_in, 传址, 地址信息
.参数 namelen, 整数型, , 地址信息长度
.DLL命令 Send, 整数型, "ws2_32.dll", "send", , 发送数据(TCP,当这次发送数据未发送完时返回剩余字节数)
.参数 s, 整数型, , 套接字描述符
.参数 buf, 字节集, 传址, 欲发送的数据
.参数 buflen, 整数型, , 欲发送数据长度
.参数 flags, 整数型, , 保留值,给0
.DLL命令 Recv, 整数型, "ws2_32.dll", "recv", , 接收数据(TCP,当数据这次未接收完时返回剩余字节数)
.参数 s, 整数型, , 套接字描述符
.参数 buf, 字节集, 传址, 数据(提供变量)
.参数 buflen, 整数型, , 数据长度
.参数 flags, 整数型, , 保留值,给0
.DLL命令 Bind, 整数型, "ws2_32.dll", "bind", , 绑定一个地址和端口
.参数 s, 整数型, , 套接字描述符
.参数 name, Sockaddr_in, 传址, 地址信息
.参数 namelen, 整数型, , 地址信息长度(长度16)
.DLL命令 WSAStartup, 整数型, "ws2_32.dll", "WSAStartup", , 初始化WnSocket服务
.参数 wVR, 短整数型, , socket版本,第一个字节代表主版本,第2个字节代表从版本
.参数 lpWSAD, WSADataType, 传址, 服务信息
.DLL命令 WSACleanup, 整数型, "ws2_32.dll", "WSACleanup", , 卸载Winsocket服务
.DLL命令 Htonl, 短整数型, "ws2_32.dll", "htonl", , 转换为network 排列方式的数目
.参数 hostadd, 短整数型, , 端口号
.DLL命令 Htons, 短整数型, "ws2_32.dll", "htons", , 转换为network 排列方式的数目
.参数 hostshort, 短整数型, , 端口号
.DLL命令 Inet_ntoa, 整数型, "ws2_32.dll", "inet_ntoa", , 将整数格式IP地址转换为点数格式(返回值是内存地址指针)
.参数 inn, 整数型, , 欲转换整数格式IP地址
.DLL命令 Inet_addr, 整数型, "ws2_32.dll", "inet_addr", , 点数格式转换为整数格式IP地址
.参数 cp, 文本型, 传址, 欲被转换的IP地址
.DLL命令 Listen, 整数型, "ws2_32.dll", "listen", , 监听
.参数 s, 整数型, , 套接字描述符
.参数 backlog, 整数型, , 最多容纳客户请求数
.DLL命令 Accept, 整数型, "ws2_32.dll", "accept", , 等待用户进入并接受连接
.参数 s, 整数型, , 套接字描述符
.参数 addr, Sockaddr_in, 传址, 地址信息
.参数 addrlen, 整数型, 传址, 地址信息长度(长度为16)
.DLL命令 Ntohs, 短整数型, "ws2_32.dll", "ntohs", , 转换为端口号
.参数 netshort, 短整数型, , 欲转换值
.DLL命令 CloseHandle, , "kernel32.dll", "CloseHandle"
.参数 hObject, 整数型
.DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread", , 创建线程
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 子程序指针, , 子程序
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadID, 整数型, 传址, 提供变量,返回线程ID
.DLL命令 Gethostname, 整数型, "ws2_32.dll", "gethostname", , 取本机名,失败返回-1,成功返回0。
.参数 name, 文本型, 传址, 给变量,用于存放名称
.参数 namelen, 整数型, , 上一个参数的长度
.DLL命令 Gethostbyname, 整数型, "ws2_32.dll", "gethostbyname", , 成功返回内存指针
.参数 name, 文本型, 传址, 机器名称
.DLL命令 Getpeername, 整数型, "ws2_32.dll", "getpeername", , 获取远端信息(已连接对方IP和端口)。成功返回0
.参数 s, 整数型, , 句柄
.参数 name, Sockaddr_in, 传址, 地址信息
.参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16
.DLL命令 Select, 整数型, "ws2_32.dll", "select", , 检查套接字状态
.参数 nfds, 整数型
.参数 readfds, WSA_Set, 传址, 读
.参数 writefds, WSA_Set, 传址, 写
.参数 exceptfds, WSA_Set, 传址, 错误
.参数 timeout, 整数型, 传址, 超时
.DLL命令 Getsockname, 整数型, "ws2_32.dll", "getsockname", , 获取本地信息(用于连接对方的端口)。成功返回0
.参数 s, 整数型, , 句柄
.参数 name, Sockaddr_in, 传址, 地址信息
.参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16
.DLL命令 WSAAsyncSelect, 整数型, "ws2_32.dll", "WSAAsyncSelect"
.参数 s, 整数型
.参数 hWnd, 整数型
.参数 wMsg, 整数型
.参数 lEvent, 整数型
.DLL命令 RtlMoveMemory, , "kernel32.dll", "RtlMoveMemory", , 移动内存(类似于RtlCopyMemory)
.参数 hpvDest, 字节集, 传址, 存放内容的变量
.参数 hpvSource, 整数型, , 源内容地址
.参数 cbCopy, 整数型, , 长度
.DLL命令 WSAAccept, 整数型, "ws2_32.dll", "WSAAccept", , 等待用户进入并接受连接
.参数 socket, 整数型, , 套接字描述符
.参数 pSockAddr, 整数型, , 地址信息
.参数 addrlen, 整数型, , 地址信息长度(长度为16)
.参数 Callback, 整数型
.参数 CallbackDate, 整数型
.DLL命令 WSASend, 整数型, "ws2_32.dll", "WSASend"
.参数 套接字, 整数型, , 套接字描述符
.参数 WSABUF结构, WSABuf, 传址, 数据(结构)
.参数 WSABUF结构数, 整数型
.参数 发送封包长度, 整数型, 传址, 保留值,给0
.参数 标志位, 整数型, 传址
.参数 WSAOVERLAPPED结构的指针, WSAOverLapped, 传址, NULL
.参数 发送后调用子程, 整数型
.DLL命令 WSARecv, 整数型, "ws2_32.dll", "WSARecv"
.参数 套接字, 整数型, , 套接字描述符
.参数 WSABUF结构, WSABuf, 传址
.参数 WSABUF结构数, 整数型, , 保留值,给1
.参数 收到封包长度, 整数型, 传址
.参数 标志位, 整数型, 传址
.参数 WSAOVERLAPPED结构的指针, WSAOverLapped, 传址, WSAOVERLAPPED结构的指针
.参数 结束后调用的例程的指针, 整数型
.DLL命令 WSAGetLastError, 整数型, "ws2_32.dll", "WSAGetLastError"
.DLL命令 GetSystemInfo, 整数型, "kernel32.dll", "GetSystemInfo"
.参数 pSystemInfo, System_Info, 传址
.DLL命令 GetQueuedCompletionStatus, 逻辑型, "kernel32.dll", "GetQueuedCompletionStatus"
.参数 hCompletionPort, 整数型
.参数 pNumberOfBytesTransferred, 整数型, 传址
.参数 pCompletionKey, LPPER_HANDLE_DATA, 传址
.参数 pOverlapped, LPPER_IO_OPERATION_DATA, 传址
.参数 Timeout, 整数型
.DLL命令 PostQueuedCompletionStatus, 整数型, "kernel32.dll", "PostQueuedCompletionStatus"
.参数 CompletePort, 整数型
.参数 bWaitMode, 整数型
.参数 UserProc1, 整数型
.参数 Overlapped, 整数型
.DLL命令 CreateIoCompletionPort_, 整数型, "kernel32.dll", "CreateIoCompletionPort"
.参数 FileHandle, 整数型
.参数 ExistingCompletionPort, 整数型
.参数 CompletionKey, 整数型
.参数 NumberOfConcurrentThreads, 整数型
.DLL命令 CreateIoCompletionPort, 整数型, "kernel32.dll", "CreateIoCompletionPort"
.参数 FileHandle, 整数型
.参数 ExistingCompletionPort, 整数型
.参数 CompletionKey, LPPER_HANDLE_DATA
.参数 NumberOfConcurrentThreads, 整数型
.DLL命令 GetLastError, 整数型, "kernel32.dll", "GetLastError"
易语言类似易的KEY注册验证和KEY生成模块源码,生成钥匙文件,文本加密,钥匙文件注册,十六进制到十进制,文本解密...
易语言简易版超级列表框加入超链接源码,超级列表框置超链接,SendMessage_...
易语言监控tcp连接后续删除连接源码,GetPort,GetAscIP,API_GetTcpTable,API_LocalSize,API_CopyMemory,API_inet_ntoa,API_lstrlen,API_ntohs,API_SetTcpEntry...
易语言监控TCP连接API源码,GetPort,GetAscIP,API_GetTcpTable,API_LocalSize,API_CopyMemory,API_inet_ntoa,API_lstrlen,API_ntohs...
易语言电影信息采集器金牛报喜交流源码,采集信息,提取网页信息,读取海报...
易语言清除cookies模块源码,清空cookies,清空history,清空cache,清空cache文件,列出对应项目,清除项目,InternetSetOption,FindFirstUrlCacheEntry,FindNextUrlCacheEntry,FindCloseUrlCache,DeleteUrlCacheEntry...
易语言注册表监视源码,CreateEvent,RegOpenKeyEx,RegCloseKey,CloseHandle,RegNotifyChangeKeyValue,WaitForSingleObject,WaitForMultipleObjects...
易语言歌词同步源码,载入字幕文件,同步,滚动字幕...
易语言本地修改QQ群群公告源码,搜索QQ号,搜索QQ群,获取群公告,更改群公告...