
 
易语言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字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...