易语言Winsocket模块源码
系统结构:申请套接口,销毁套接口,关闭连接,绑定,监听,接受,连接,接收,发送,接收数据报,发送数据报,置缓冲区尺寸,取缓冲区尺寸,UDP置广播模式,UDP取广播模式,置阻塞模式,取客户信息,取自己信息,可读检查,错误检查,可写检查,IP到整数,IP到文本,转换时间,动态调用子程序,取2的N次方,内存_写字节集,取指针_文本型,例程服务端,服务端_接受线程,例程客户端,WSAStartup,WSACleanup,WSASocket,closesocket,WSARecv,WSASend,htons,getpeername,getsockname,ntohs,listen,inet_addr,inet_ntoa,bind,socket,accept,connect,Recv,RecvFrom,send,sendto,setsockopt,getsockopt,ioctlsocket,select,shutdown,LocalAlloc,LocalFree,LocalSize,GetLastError,RtlMoveMemory1,lstrcpyn2,
======Win_Socket
| |
| |------ _初始化
| |
| |------ _销毁
| |
| |------ 申请套接口
| |
| |------ 销毁套接口
| |
| |------ 关闭连接
| |
| |------ 绑定
| |
| |------ 监听
| |
| |------ 接受
| |
| |------ 连接
| |
| |------ 接收
| |
| |------ 发送
| |
| |------ 接收数据报
| |
| |------ 发送数据报
| |
| |------ 置缓冲区尺寸
| |
| |------ 取缓冲区尺寸
| |
| |------ UDP置广播模式
| |
| |------ UDP取广播模式
| |
| |------ 置阻塞模式
| |
| |------ 取客户信息
| |
| |------ 取自己信息
| |
| |------ 可读检查
| |
| |------ 错误检查
| |
| |------ 可写检查
| |
| |------ IP到整数
| |
| |------ IP到文本
| |
| |------ 转换时间
| |
| |
======调用程序集
| |
| |------ _启动子程序
| |
| |------ _临时子程序
| |
| |------ _读整数
| |
| |------ _写整数
| |
| |------ _读短整数
| |
| |------ _写短整数
| |
| |------ _取整数型数据地址
| |
| |------ _取字节集数据地址
| |
| |------ _申请内存
| |
| |------ _释放内存
| |
| |------ _内存尺寸
| |
| |------ 动态调用子程序
| |
| |------ 取2的N次方
| |
| |------ 内存_写字节集
| |
| |------ 取指针_文本型
| |
| |
======例子
| |
| |------ 例程服务端
| |
| |------ 服务端_接受线程
| |
| |------ 例程客户端
| |
| |
======调用的Dll
| |
| |---[dll]------ WSAStartup
| |
| |---[dll]------ WSACleanup
| |
| |---[dll]------ WSASocket
| |
| |---[dll]------ closesocket
| |
| |---[dll]------ WSARecv
| |
| |---[dll]------ WSASend
| |
| |---[dll]------ htons
| |
| |---[dll]------ getpeername
| |
| |---[dll]------ getsockname
| |
| |---[dll]------ ntohs
| |
| |---[dll]------ listen
| |
| |---[dll]------ inet_addr
| |
| |---[dll]------ inet_ntoa
| |
| |---[dll]------ bind
| |
| |---[dll]------ socket
| |
| |---[dll]------ accept
| |
| |---[dll]------ connect
| |
| |---[dll]------ Recv
| |
| |---[dll]------ RecvFrom
| |
| |---[dll]------ send
| |
| |---[dll]------ sendto
| |
| |---[dll]------ setsockopt
| |
| |---[dll]------ getsockopt
| |
| |---[dll]------ ioctlsocket
| |
| |---[dll]------ select
| |
| |---[dll]------ shutdown
| |
| |---[dll]------ LocalAlloc
| |
| |---[dll]------ LocalFree
| |
| |---[dll]------ LocalSize
| |
| |---[dll]------ GetLastError
| |
| |---[dll]------ RtlMoveMemory1
| |
| |---[dll]------ lstrcpyn2
调用的DLL命令:
.DLL命令 WSAStartup, 整数型, "ws2_32.dll", "WSAStartup", , 成功返回0, 初始化WnSocket服务
.参数 VersionReq, 短整数型
.参数 WSADataReturn, WSADATA, 传址
.DLL命令 WSACleanup, 整数型, "ws2_32.dll", "WSACleanup", , 卸载Winsocket服务,成功返回0
.DLL命令 WSASocket, 整数型, "ws2_32.dll", "WSASocketA", , 创建一个原始套接字。成功返回套接字,失败返回INVALID_SOCKET(0)
.参数 af, 整数型, , #AF_开头的常量。地址族描述,目前仅支持AF_INET格式,亦即ARPA Internet地址格式。
.参数 type, 整数型, , #SOCK_开头的常量。新套接口的类型描述。
.参数 protocol, 整数型, , #IPPROTO_开头的常量。套接口使用的特定协议,如果调用者不愿指定协议则定为0。
.参数 lpProtocolInfo, 整数型, , 该结构定义所创建套接口的特性。如果本参数非零,则前三个参数被忽略。
.参数 g, 整数型, , 套接口组的描述字。
.参数 dwFlags, 整数型, , 套接口属性描述。
.DLL命令 closesocket, 整数型, "ws2_32.dll", "closesocket", , 销毁套接字
.参数 s, 整数型, , 套接字描述符
.DLL命令 WSARecv, 整数型, "ws2_32.dll", "WSARecv", , 接收数据数组
.参数 s, 整数型
.参数 lpBuffers, 整数型, , inout,这里有点问题,应该不需要传值
.参数 dwBufferCount, 整数型
.参数 lpNumberOfBytesRecvd, 整数型, 传址, out
.参数 lpFlags, 整数型, 传址, inout
.参数 lpOverlapped, 整数型
.参数 lpCompletionRoutine, 整数型
.DLL命令 WSASend, 整数型, "ws2_32.dll", "WSASend", , 发送数据数组
.参数 s, 整数型
.参数 lpBuffers, 整数型
.参数 dwBufferCount, 整数型
.参数 lpNumberOfBytesSent, 整数型, 传址
.参数 dwFlags, 整数型
.参数 lpOverlapped, 整数型
.参数 lpCompletionRoutine, 整数型
.DLL命令 htons, 短整数型, "ws2_32.dll", "htons", , 端口转换到网络格式
.参数 hostshortas, 短整数型, , 十六位主机命令
.DLL命令 getpeername, 整数型, "ws2_32.dll", "getpeername", , 取套接字对方地址
.参数 s, 整数型
.参数 name, SOCKADDR_IN, 传址
.参数 namelen, 整数型, 传址
.DLL命令 getsockname, 整数型, "ws2_32.dll", "getpeername", , 取套接字自己地址
.参数 s, 整数型
.参数 name, SOCKADDR_IN, 传址
.参数 namelen, 整数型, 传址
.DLL命令 ntohs, 短整数型, "ws2_32.dll", "ntohs", , 端口转换-1转256,256转1.
.参数 netshortas, 短整数型, , netshort欲转换值
.DLL命令 listen, 整数型, "ws2_32.dll", "listen", , 监听-侦听
.参数 s, 整数型, , 套接字描述符
.参数 backlog, 整数型, , 最多容纳客户请求数(列队长度)
.DLL命令 inet_addr, 整数型, "ws2_32.dll", "inet_addr", , 点数格式转换为整数格式IP地址
.参数 cp, 文本型, , 欲被转换的IP地址
.DLL命令 inet_ntoa, 文本型, "ws2_32.dll", "inet_ntoa", , 整数格式转换为点数格式IP地址
.参数 in, 整数型
.DLL命令 bind, 整数型, "ws2_32.dll", "bind", , 绑定端口
.参数 s, 整数型, , 建立socket时的Handle socket套接字
.参数 name, SOCKADDR_IN
.参数 namelen, 整数型
.DLL命令 socket, 整数型, "ws2_32.dll", "socket", , 创建套接字
.参数 af, 整数型, , 使用的通信协议的协议族
.参数 type, 整数型, , 流套接字类型
.参数 protocol, 整数型, , 使用的通信协议
.DLL命令 accept, 整数型, "ws2_32.dll", "accept", , 等待用户进入并接受连接
.参数 s, 整数型, , 套接字描述符
.参数 addr, SOCKADDR_IN, 传址, 地址信息
.参数 addrlen, 整数型, 传址, 地址信息长度(长度为16)
.DLL命令 connect, 整数型, "ws2_32.dll", "connect", , 连接到服务器(TCP)
.参数 s, 整数型, , 套接字描述符
.参数 addr, SOCKADDR_IN, 传址, 地址信息
.参数 namelen, 整数型, , 地址信息长度
.DLL命令 Recv, 整数型, "ws2_32.dll", "recv", , 接收
.参数 s, 整数型
.参数 buf, 整数型
.参数 Len, 整数型
.参数 flags, 整数型
.DLL命令 RecvFrom, 整数型, "ws2_32.dll", "recvfrom", , 接收数据报
.参数 s, 整数型
.参数 buf, 整数型
.参数 len, 整数型, , 缓冲区的长度
.参数 flages, 整数型
.参数 from, SOCKADDR_IN
.参数 fromlen, 整数型, 传址, 源地址处的长度
.DLL命令 send, 整数型, "ws2_32.dll", "send", , 发送
.参数 s, 整数型, , 套接字描述符
.参数 buf, 整数型, , 欲发送的数据
.参数 buflen, 整数型, , 欲发送数据长度
.参数 flags, 整数型, , 保留值,给0
.DLL命令 sendto, 整数型, "ws2_32.dll", "sendto", , 发送数据(UDP)
.参数 s, 整数型, , 套接字描述符
.参数 buf, 整数型, , 数据
.参数 len, 整数型, , 数据长度
.参数 flags, 整数型, , 保留值,给0
.参数 to, SOCKADDR_IN, 传址, 目标地址信息
.参数 tolen, 整数型, , 地址信息长度
.DLL命令 setsockopt, 整数型, "ws2_32.dll", "setsockopt", , 置缓冲区尺寸
.参数 sockfd, 整数型
.参数 level, 整数型
.参数 optname, 整数型
.参数 optval, 整数型, 传址
.参数 optlen, 整数型
.DLL命令 getsockopt, 整数型, "ws2_32.dll", "getsockopt", , 取缓冲区尺寸
.参数 sockfd, 整数型
.参数 level, 整数型
.参数 optname, 整数型
.参数 optval, 整数型, 传址
.参数 optlen, 整数型, 传址
.DLL命令 ioctlsocket, 整数型, "ws2_32.dll", "ioctlsocket", , 置阻塞模式
.参数 s, 整数型
.参数 cmd, 整数型
.参数 argp, 整数型, 传址
.DLL命令 select, 整数型, "ws2_32.dll", "select", , 文件读写检查。
.参数 nfds, 整数型
.参数 readfds, 整数型, , 指向一组等待可读性检查的套接口
.参数 writefds, 整数型, , 指向一组等待可写性检查的套接口
.参数 exceptfds, 整数型, , 指向一组等待错误检查的套接口
.参数 timeout, 整数型
.DLL命令 shutdown, 整数型, "ws2_32.dll", "shutdown", , 关闭套接字
.参数 s, 整数型
.参数 how, 整数型
.DLL命令 LocalAlloc, 整数型, "kernel32.dll", "LocalAlloc", , hMem,申请内存
.参数 uFlags, 短整数型, , 64
.参数 uBytes, 整数型, , 长度,len
.DLL命令 LocalFree, 整数型, "kernel32.dll", "LocalFree", , 释放内存
.参数 hMem, 整数型, , hMem,地址
.DLL命令 LocalSize, 整数型, "kernel32.dll", "LocalSize", , 取内存尺寸
.参数 hMem, 整数型
.DLL命令 GetLastError, 整数型, , "GetLastError", , 取API错误信息
.DLL命令 RtlMoveMemory1, 整数型, "kernel32", "RtlMoveMemory", , 写字节集
.参数 目标数据地址, 整数型, , lpvDest
.参数 源数据, 字节集, , lpvSource
.参数 尺寸, 整数型, , cbCopy
.DLL命令 lstrcpyn2, 整数型, "kernel32", "lstrcpyn", , 取文本型指针。
.参数 目标数据地址, 文本型, , lpvDest
.参数 源数据, 文本型, , lpvSource
.参数 尺寸, 整数型, , cbCopy
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言仅用核心支持库实现对外部数据库的操作ADODB操作外部数据库例程源码,根据村组查询数据,数据库_读取数据到高级表格,数据库_保存高级表格数据到数据库,数据库_读取数据到列表...
易语言两个文件内存中通讯源码,子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错...
易语言易模块管理器Include目录源码,CopyTo_CreateProcessDebugInfo,CopyTo_CreateThreadDebugInfo,CopyTo_ExitThreadDebugInfo,CopyTo_ExitProcessDebugInfo,CopyTo_LoadDllDebugInfo,CopyTo_UnloadDllDebugInfo,CopyTo_ExceptionDebugInfo,Copy...
易语言卷帘工具箱源码,初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...
子程序1,打开文件,生成空文件,生成重复字节文件,移到文件首,移到文件尾,移动读写位置,取读写位置,关闭文件,取文件长度,写出字节集,是否在文件尾,取错误信息,读入字节集,读入2M字节集,清除文件缓冲区,读入文本,写出文本,写文本行,读入一行,插入字节集,取文件号...
初始化卷帘,取星期,更换风格,搜索文件,线程搜索,修改底色,获取信息,取信息记录,取网络信息...