易语言WinSock模块应用源码
系统结构:启动,停止,监听,发送,接收,断开连接,取服务器端口,取服务器IP,取客户IP,取客户端口,异步选择,检查连接状态,连接,断开,发送,接收,异步选择,检查连接状态,关闭,创建,发送数据,接收数据,异步选择,取本机名,取本机IP组,窗口1消息处理,客户进入,客户离开,数据到达,窗口2消息处理,数据到达客户,接收数据3,接收数据4,窗口4消息处理,setsockopt,getsockopt,WSAGetLastError,WSAIsBlocking,WSACleanup,send,recv,WSAStartup,htons,ntohs,socket,gethostname,getsockname,closesocket,connect,WSAAsyncSelect,inet_addr,WSACancelBlockingCall,inet_ntoa,bind,listen,accept,select,recvfrom,sendto,RtlMoveMemory,gethostbyname,getpeername,设置窗口函数,设置窗口信息,启动线程,
======模块程序集
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |
======服务器类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 启动
| |
| |------ 停止
| |
| |------ 监听
| |
| |------ 发送
| |
| |------ 接收
| |
| |------ 断开连接
| |
| |------ 取服务器端口
| |
| |------ 取服务器IP
| |
| |------ 取客户IP
| |
| |------ 取客户端口
| |
| |------ 异步选择
| |
| |------ 检查连接状态
| |
| |
======客户类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 连接
| |
| |------ 断开
| |
| |------ 发送
| |
| |------ 接收
| |
| |------ 异步选择
| |
| |------ 检查连接状态
| |
| |
======数据报类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 关闭
| |
| |------ 创建
| |
| |------ 发送数据
| |
| |------ 接收数据
| |
| |------ 异步选择
| |
| |
======本地网类
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 取本机名
| |
| |------ 取本机IP组
| |
| |
======窗口1程序集
| |
| |------ _窗口1_创建完毕
| |
| |------ _按钮1_被单击
| |
| |------ 窗口1消息处理
| |
| |------ 客户进入
| |
| |------ 客户离开
| |
| |------ 数据到达
| |
| |------ _停止_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _窗口1_将被销毁
| |
| |
======窗口2程序集
| |
| |------ _窗口2_创建完毕
| |
| |------ _连接_被单击
| |
| |------ 窗口2消息处理
| |
| |------ 数据到达客户
| |
| |------ _按钮3_被单击
| |
| |------ _断开_被单击
| |
| |
======窗口0程序集
| |
| |------ _按钮1_被单击
| |
| |------ _按钮2_被单击
| |
| |------ _按钮3_被单击
| |
| |
======窗口3程序集
| |
| |------ _窗口3_创建完毕
| |
| |------ 接收数据3
| |
| |------ _发送按钮_被单击
| |
| |------ _窗口3_将被销毁
| |
| |
======窗口4程序集
| |
| |------ _窗口4_创建完毕
| |
| |------ 接收数据4
| |
| |------ _发送按钮_被单击
| |
| |------ _窗口4_将被销毁
| |
| |------ 窗口4消息处理
| |
| |
======调用的Dll
| |
| |---[dll]------ setsockopt
| |
| |---[dll]------ getsockopt
| |
| |---[dll]------ WSAGetLastError
| |
| |---[dll]------ WSAIsBlocking
| |
| |---[dll]------ WSACleanup
| |
| |---[dll]------ send
| |
| |---[dll]------ recv
| |
| |---[dll]------ WSAStartup
| |
| |---[dll]------ htons
| |
| |---[dll]------ ntohs
| |
| |---[dll]------ socket
| |
| |---[dll]------ gethostname
| |
| |---[dll]------ getsockname
| |
| |---[dll]------ closesocket
| |
| |---[dll]------ connect
| |
| |---[dll]------ WSAAsyncSelect
| |
| |---[dll]------ inet_addr
| |
| |---[dll]------ WSACancelBlockingCall
| |
| |---[dll]------ inet_ntoa
| |
| |---[dll]------ bind
| |
| |---[dll]------ listen
| |
| |---[dll]------ accept
| |
| |---[dll]------ select
| |
| |---[dll]------ recvfrom
| |
| |---[dll]------ sendto
| |
| |---[dll]------ RtlMoveMemory
| |
| |---[dll]------ gethostbyname
| |
| |---[dll]------ getpeername
| |
| |---[dll]------ 设置窗口函数
| |
| |---[dll]------ 设置窗口信息
| |
| |---[dll]------ 启动线程
调用的DLL命令:
.DLL命令 setsockopt, 整数型, "ws2_32.dll", "setsockopt", , 置操作_
.参数 网络通讯标识符, 整数型
.参数 级别, 整数型
.参数 操作名称, 整数型
.参数 操作结构, 空闲
.参数 操作结构长度, 整数型
.DLL命令 getsockopt, 整数型, "ws2_32.dll", "getsockopt", , 取操作_
.参数 网络通讯标识符, 整数型
.参数 级别, 整数型
.参数 操作名称, 整数型
.参数 操作结构, 空闲
.参数 操作结构长度, 整数型, 传址
.DLL命令 WSAGetLastError, 整数型, "ws2_32.dll", "WSAGetLastError", , 取最后错误_
.DLL命令 WSAIsBlocking, 整数型, "ws2_32.dll", "WSAIsBlocking", , 是否阻塞_
.DLL命令 WSACleanup, 整数型, "ws2_32.dll", "WSACleanup", , 卸载Winsocket服务
.DLL命令 send, 整数型, "ws2_32.dll", "send", , 发送数据_(TCP,当这次发送数据未发送完时返回剩余字节数)
.参数 网络通讯标识符, 整数型, , s
.参数 缓冲区, 字节集, 传址, buf
.参数 缓冲区长度, 整数型, , lLen
.参数 标志, 整数型, , flags
.DLL命令 recv, 整数型, "ws2_32.dll", "recv", , 接收字节集数据(TCP,当数据这次未接收完时返回剩余字节数)
.参数 网络通讯标识符, 整数型, , s
.参数 缓冲区, 字节集, 传址, buf数据(提供变量)
.参数 缓冲区长度, 整数型, , lLen
.参数 标志, 整数型, , flags
.DLL命令 WSAStartup, 整数型, "ws2_32.dll", "WSAStartup", , 初始化WnSocket服务
.参数 必需版本, 整数型, , wVersionRequired
.参数 服务信息, 套接字信息, , lpWSAData
.DLL命令 htons, 短整数型, "ws2_32.dll", "htons", , 转换为network 排列方式的数目
.参数 十六位主机命令, 短整数型, , hostshort端口号
.DLL命令 ntohs, 短整数型, "ws2_32.dll", "ntohs", , 转换为端口号-网络转换到本机
.参数 十六位网络端口, 短整数型, , netshort欲转换值
.DLL命令 socket, 整数型, "ws2_32.dll", "socket", , 创建套接字
.参数 协议族, 整数型, , af使用的通信协议的协议族
.参数 类型, 整数型, , lType流套接字类型
.参数 协议, 整数型, , protocol使用的通信协议
.DLL命令 gethostname, 整数型, "ws2_32.dll", "gethostname", , 取本机名,失败返回-1,成功返回0。
.参数 name, 文本型, 传址, 给变量,用于存放名称
.参数 namelen, 整数型, , 上一个参数的长度
.DLL命令 getsockname, 整数型, "ws2_32.dll", "getsockname", , 获取本地接口的地址信息(IP和端口)。成功返回0
.参数 s, 整数型, , 句柄
.参数 name, 套接字地址, 传址, 地址信息
.参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16
.DLL命令 closesocket, 整数型, "ws2_32.dll", "closesocket", , 销毁套接字
.参数 套接字描述符, 整数型
.DLL命令 connect, 整数型, "ws2_32.dll", "connect", , 连接到服务器(TCP)
.参数 网络通讯标识符, 整数型, , s
.参数 名称结构, 套接字地址, , addr
.参数 名称结构长度, 整数型, , namelen(16)
.DLL命令 WSAAsyncSelect, 整数型, "ws2_32.dll", "WSAAsyncSelect", , 异步选择_ 本函数自动将套接口设置为非阻塞模式 0 表明是成功的
.参数 网络通讯标识符, 整数型, , s标识一个需要事件通知的套接口的描述符
.参数 窗口句柄, 整数型, , hWnd标识一个在网络事件发生时需要接收消息的窗口句柄
.参数 消息值, 整数型, , wMsg在网络事件发生时要接收的消息
.参数 事件, 整数型, , lEvent位屏蔽码,用于指明应用程序感兴趣的网络事件集合.
.DLL命令 inet_addr, 整数型, "ws2_32.dll", "inet_addr", , 点数格式转换为整数格式IP地址-到网络地址_
.参数 IP地址, 文本型, 传址, cp欲被转换的IP地址
.DLL命令 WSACancelBlockingCall, 整数型, "ws2_32.dll", "WSACancelBlockingCall", , 取消阻塞_
.DLL命令 inet_ntoa, 整数型, "ws2_32.dll", "inet_ntoa", , 将整数格式IP地址转换为点数格式(返回值是内存地址指针)
.参数 网络地址, 整数型, , lIn欲转换整数格式IP地址
.DLL命令 bind, 整数型, "ws2_32.dll", "bind", , 绑定一个地址和端口
.参数 套接字描述符, 整数型
.参数 地址结构, 套接字地址, 传址, 地址信息
.参数 结构大小, 整数型, , 地址信息长度(长度16
.DLL命令 listen, 整数型, "ws2_32.dll", "listen", , 监听
.参数 sockfd, 整数型, , 套接字描述符
.参数 backlog, 整数型, , 最多容纳客户请求数
.DLL命令 accept, 整数型, "ws2_32.dll", "accept", , 等待用户进入并接受连接
.参数 s, 整数型, , 套接字描述符
.参数 addr, 套接字地址, 传址, 地址信息
.参数 addrlen, 整数型, 传址, 地址信息长度(长度为16)
.DLL命令 select, 整数型, "ws2_32.dll", "select"
.参数 nfds, 整数型
.参数 readfds, fd_set, 传址, 指向一组等待可读性检查的套接口
.参数 writefds, fd_set, 传址, 指向一组等待可写性检查的套接口
.参数 exceptfds, fd_set, 传址, 指向一组等待错误检查的套接口
.参数 timeout, 整数型, 传址
.DLL命令 recvfrom, 整数型, "ws2_32.dll", "recvfrom", , 接收数据(UDP)
.参数 s, 整数型, , 套接字描述符
.参数 buf, 字节集, 传址, 数据(提供变量)
.参数 len, 整数型, , 数据长度
.参数 flags, 整数型, , 0
.参数 from, 套接字地址, 传址, 来源地址信息(提供变量)
.参数 fromlen, 整数型, 传址, 地址信息长度(提供变量)
.DLL命令 sendto, 整数型, "ws2_32.dll", "sendto", , 发送数据(UDP)
.参数 s, 整数型, , 套接字描述符
.参数 buf, 字节集, 传址, 数据
.参数 len, 整数型, , 数据长度
.参数 flags, 整数型, , 0
.参数 to, 套接字地址, 传址, 目标地址信息
.参数 tolen, 整数型, , 地址信息长度
.DLL命令 RtlMoveMemory, , "kernel32.dll", "RtlMoveMemory"
.参数 hpvDest, 字节集, 传址
.参数 hpvSource, 整数型
.参数 cbCopy, 整数型
.DLL命令 gethostbyname, 整数型, "ws2_32.dll", "gethostbyname", , 成功返回内存指针
.参数 name, 文本型, 传址, 机器名称
.DLL命令 getpeername, 整数型, "ws2_32.dll", "getpeername", , 获取远端信息(已连接对方IP和端口)。成功返回0
.参数 s, 整数型, , 句柄
.参数 name, 套接字地址, 传址, 地址信息
.参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16
.DLL命令 设置窗口函数, 整数型, "user32.dll", "CallWindowProcA", 公开, 将消息传给窗口函数
.参数 前一窗口函数地址, 整数型, , lpPrevWndFunc
.参数 窗口句柄, 整数型, , hwnd
.参数 消息值, 整数型, , msg
.参数 附加参数1, 整数型, , wParam
.参数 附加参数2, 整数型, , lParam
.DLL命令 设置窗口信息, 整数型, "user32.dll", "SetWindowLongA", 公开, 在窗口结构中为指定的窗口设置信息 指定数据的前一个值
.参数 窗口句柄, 整数型, , hwnd,欲为其取得信息的窗口的句柄
.参数 窗口信息值, 整数型, , nIndex,请参考GetWindowLong函数的nIndex参数的说明
.参数 窗口信息新值, 整数型, , dwNewLong,由nIndex指定的窗口信息的新值
.DLL命令 启动线程, 整数型, "kernel32", "CreateThread", 公开, CreateThread
.参数 lpThreadAttributes, 整数型
.参数 dwStackSize, 整数型
.参数 lpStartAddress, 子程序指针
.参数 lpParameter, 整数型
.参数 dwCreationFlags, 整数型
.参数 lpThreadId, 整数型, 传址
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...