• 当前位置: 首页 > 等阶教程源码 > 高级教程源码易语言Socket编程之Select模型源码
  • 易语言Socket编程之Select模型源码

    • 软件授权:
      开源软件
    • 软件大小:
      8.7 KB
    • 文件类型:
      .zip,.e
    • 下载次数:
    • 上传用户:
      心脏
    • 发布时间:
      2018-10-20 23:13
    • 软件等阶:
    • 运行环境:
      Winall,Win2003,WinXP,Win7,Win8
    • 软件评级:

    软件介绍             



     

    易语言Socket编程之Select模型源码


    系统结构:CreateSocket,FD_CLR,FD_ISSET,FD_SET,FD_ZERO,ThreadAcceptProc,ThreadProc,GetClientInfo,htonl,ntohl,ntohs,htons,WSAStartup,WSACleanup,closesocket,bind,inet_ntoa,inet_addr,connect,send,recv,recvfrom,sendto,setsockopt,getsockname,accept,listen,socket,shutdown,gethostbyname,InterlockedIncrement,CreateThread,select,getpeername,EnterCriticalSection,LeaveCriticalSection,


    ======程序集1
               |  |
               |  |------ _启动子程序
               |  |
               |  |
    ======窗口程序集1
               |  |
               |  |------ __frmMain_创建完毕
               |  |
               |  |------ __frmMain_将被销毁
               |  |
               |  |------ CreateSocket
               |  |
               |  |------ FD_CLR
               |  |
               |  |------ FD_ISSET
               |  |
               |  |------ FD_SET
               |  |
               |  |------ FD_ZERO
               |  |
               |  |------ _按钮1_被单击
               |  |
               |  |------ ThreadAcceptProc
               |  |
               |  |------ ThreadProc
               |  |
               |  |------ GetClientInfo
               |  |
               |  |------ _按钮2_被单击
               |  |
               |  |
    ======调用的Dll
               |  |
               |  |---[dll]------   htonl
               |  |
               |  |---[dll]------   ntohl
               |  |
               |  |---[dll]------   ntohs
               |  |
               |  |---[dll]------   htons
               |  |
               |  |---[dll]------   WSAStartup
               |  |
               |  |---[dll]------   WSACleanup
               |  |
               |  |---[dll]------   closesocket
               |  |
               |  |---[dll]------   bind
               |  |
               |  |---[dll]------   inet_ntoa
               |  |
               |  |---[dll]------   inet_addr
               |  |
               |  |---[dll]------   connect
               |  |
               |  |---[dll]------   send
               |  |
               |  |---[dll]------   recv
               |  |
               |  |---[dll]------   recvfrom
               |  |
               |  |---[dll]------   sendto
               |  |
               |  |---[dll]------   setsockopt
               |  |
               |  |---[dll]------   getsockname
               |  |
               |  |---[dll]------   accept
               |  |
               |  |---[dll]------   listen
               |  |
               |  |---[dll]------   socket
               |  |
               |  |---[dll]------   shutdown
               |  |
               |  |---[dll]------   gethostbyname
               |  |
               |  |---[dll]------   InterlockedIncrement
               |  |
               |  |---[dll]------   CreateThread
               |  |
               |  |---[dll]------   select
               |  |
               |  |---[dll]------   getpeername
               |  |
               |  |---[dll]------   EnterCriticalSection
               |  |
               |  |---[dll]------   LeaveCriticalSection

      


    易语言Socket编程之Select模型源码


    调用的DLL命令:


    .DLL命令 htonl, 整数型, "ws2_32.dll", "htonl", , 公开,
        .参数 h, 整数型


    .DLL命令 ntohl, 整数型, "ws2_32.dll", "ntohl", , 公开,
        .参数 inn, 整数型


    .DLL命令 ntohs, 整数型, "ws2_32.dll", "ntohs", , 公开,
        .参数 netshort, 短整数型, , 欲转换值


    .DLL命令 htons, 短整数型, "ws2_32.dll", "htons", , 公开,
        .参数 h, 短整数型


    .DLL命令 WSAStartup, 整数型, "ws2_32.dll", "WSAStartup", , 公开, WSAStartup   初始化WnSocket服务 启动使用Winsock的DLL的一个进程  如果成功,WSAStartup函数返回零
        .参数 必需版本, 整数型, , wVersionRequired  调用者可以使用的最高版本。在高字节指定次要版本号的低位字节指定了主版本号
        .参数 服务信息, WSAData, , lpWSAData         指向WSADATA数据结构,获得对Windows Sockets实现细节


    .DLL命令 WSACleanup, 整数型, "ws2_32.dll", "WSACleanup", , 公开, WSACleanup 卸载Winsocket服务  终止ws2_32.dll文件的使用


    .DLL命令 closesocket, 整数型, "ws2_32.dll", "closesocket", , 公开, 销毁套接字
        .参数 sock, 整数型


    .DLL命令 bind, 整数型, "ws2_32.dll", "bind", , 公开, 绑定一个地址和端口
        .参数 套接字描述符, 整数型
        .参数 地址结构, sockaddr_in, 传址, 地址信息
        .参数 结构大小, 整数型, , 16,地址信息长度


    .DLL命令 inet_ntoa, 整数型, "ws2_32.dll", "inet_ntoa", , 公开, 将整数格式IP地址转换为点数格式(返回值是内存地址指针)
        .参数 网络地址, 整数型, , lIn欲转换整数格式IP地址


    .DLL命令 inet_addr, 整数型, "ws2_32.dll", "inet_addr", , 公开, 文本IP到整型_,失败返回-1,成功返回整型IP地址
        .参数 IP, 文本型


    .DLL命令 connect, 整数型, "ws2_32.dll", "connect", , 公开, 连接到服务器(TCP)
        .参数 网络通讯标识符, 整数型, , s
        .参数 名称结构, sockaddr_in, , addr
        .参数 名称结构长度, 整数型, , namelen(16)


    .DLL命令 send, 整数型, "ws2_32.dll", "send", , 公开, 发送数据_(TCP,当这次发送数据未发送完时返回剩余字节数)
        .参数 网络通讯标识符, 整数型, , s
        .参数 缓冲区, 字节集, 传址, buf
        .参数 缓冲区长度, 整数型, , lLen
        .参数 标志, 整数型, , flags


    .DLL命令 recv, 整数型, "ws2_32.dll", "recv", , 公开, 接收字节集数据(TCP,当数据这次未接收完时返回剩余字节数)
        .参数 网络通讯标识符, 整数型, , s
        .参数 缓冲区, 字节集, 传址, buf数据(提供变量)
        .参数 缓冲区长度, 整数型, , lLen
        .参数 标志, 整数型, , flags


    .DLL命令 recvfrom, 整数型, "ws2_32.dll", "recvfrom", , 公开, 接收数据(UDP)
        .参数 s, 整数型, , 套接字描述符
        .参数 buf, 字节集, 传址, 数据(提供变量)
        .参数 len, 整数型, , 数据长度
        .参数 flags, 整数型, , 0
        .参数 from, sockaddr_in, 传址, 来源地址信息(提供变量)
        .参数 fromlen, 整数型, 传址, 地址信息长度(提供变量)


    .DLL命令 sendto, 整数型, "ws2_32.dll", "sendto", , 公开, 发送数据(UDP)
        .参数 s, 整数型, , 套接字描述符
        .参数 buf, 字节集, 传址, 数据
        .参数 len, 整数型, , 数据长度
        .参数 flags, 整数型, , 0
        .参数 to, sockaddr_in, 传址, 目标地址信息
        .参数 tolen, 整数型, , 地址信息长度


    .DLL命令 setsockopt, 整数型, "ws2_32.dll", "setsockopt", , 公开, setsockopt 设置一个套接字选项
        .参数 网络通讯标识符, 整数型, , s     网络通讯标识符   描述标识一个套接字。
        .参数 级别, 整数型, , level 级别             在该选项定义(例如水平,SOL_SOCKET)。
        .参数 操作名称, 整数型, , optname 操作名称         套接字选项的值被设置(例如,SO_BROADCAST)。该optname参数必须是一个套接字选项定义在指定的水平,或行为是不确定的
        .参数 操作结构, 整数型, , optval 操作结构    指针在其中所请求的选项的值是指定的缓冲区
        .参数 操作结构长度, 整数型, , optlen 操作结构长度     大小,指出以字节的缓冲区,由optval参数


    .DLL命令 getsockname, 整数型, "ws2_32.dll", "getsockname", , 公开, 获取本地接口的地址信息(IP和端口)。成功返回0
        .参数 s, 整数型, , 句柄
        .参数 name, sockaddr_in, 传址, 地址信息
        .参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16


    .DLL命令 accept, 整数型, "ws2_32.dll", "accept", , 公开, accept  在接受功能允许对传入套接字连接尝试
        .参数 套接字描述符, 整数型, , s  描述符标识已在侦听状态存入听功能的插座。连接实际上是由同是返回接受插座
        .参数 地址信息, sockaddr_in, 传址, addr 可选指向的缓冲区接收连接实体的地址,知道的通信层。该参数的确切地址的格式是由家庭中的地址时确定建立由sockaddr结构创建套接字
        .参数 地址信息长度, 整数型, 传址, addrlen  可选指向一个整数,它包含结构长度指向的地址参数 地址信息长度(长度为16)


    .DLL命令 listen, 整数型, "ws2_32.dll", "listen", , 公开, listen 在听取地方的功能状态,它是一个进入的连接侦听套接字
        .参数 套接字描述符, 整数型, , sockfd
        .参数 最多容纳客户请求数, 整数型, , backlog


    .DLL命令 socket, 整数型, "ws2_32.dll", "socket", , 公开,
        .参数 协议族, 整数型, , af使用的通信协议的协议族
        .参数 类型, 整数型, , lType流套接字类型
        .参数 协议, 整数型, , protocol使用的通信协议


    .DLL命令 shutdown, 整数型, "ws2_32", "shutdown", , 公开,
        .参数 s, 整数型
        .参数 how, 整数型


    .DLL命令 gethostbyname, 整数型, "ws2_32.dll", "gethostbyname"
        .参数 name, 文本型


    .DLL命令 InterlockedIncrement, 整数型, "kernel32", "InterlockedIncrement", , 增加LONG
        .参数 lpAddend, 整数型, 传址


    .DLL命令 CreateThread, 整数型, "kernel32.dll", "CreateThread"
        .参数 lpThreadAttributes, 整数型, , 默认SECURITY_ATTRIBUTES结构
        .参数 dwStackSize, 整数型, , 设置初始栈的大小,以字节为单位,如果为0,那么默认将使用与调用该函数的线程相同的栈空间大小。任何情况下,Windows根据需要动态延长堆栈的大小
        .参数 lpStartAddress, 子程序指针, , 指向线程函数的指针,形式:@函数名,函数名称没有限制,但是必须以下列形式声明
        .参数 lpParameter, 整数型, , 向线程函数传递的参数,是一个指向结构的指针,不需传递参数时,为NULL
        .参数 dwCreationFlags, 整数型, , 线程标志,0立即激活
        .参数 lpThreadId, 整数型, , 保存新线程的id


    .DLL命令 select, 整数型, "ws2_32.dll", "select", 公开, 失败返回-1
        .参数 nfds, 整数型, , in, 
        .参数 readfds, fd_set, 传址, inout, 指向一组等待可读性检查的套接口
        .参数 writefds, fd_set, 传址, inout, 指向一组等待可写性检查的套接口
        .参数 exceptfds, fd_set, 传址, inout, 指向一组等待错误检查的套接口
        .参数 timeout, timeval, , in 


    .DLL命令 getpeername, 整数型, "ws2_32.dll", "getpeername", , 获取远端信息(已连接对方IP和端口)。成功返回0
        .参数 s, 整数型, , 句柄
        .参数 name, sockaddr_in, 传址, 地址信息
        .参数 namelen, 整数型, 传址, name长度,Sockaddr_in长度为16


    .DLL命令 EnterCriticalSection, , "kernel32", "EnterCriticalSection", , 加入临界部分
        .参数 lpCriticalSection, CRITICAL_SECTION


    .DLL命令 LeaveCriticalSection, , "kernel32", "LeaveCriticalSection", , 保留前一个输入临界段
        .参数 lpCriticalSection, CRITICAL_SECTION

    下载说明

    本站目前主要提供易语言源码、模块、支持库等下载大部分源码均为ZIP打包,
    注:本站源码主要来源于网络收集。如有侵犯您的利益,请联系我们,我们将及时删除!
    部分源码可能含有危险代码,(如关机、格式化磁盘等),请看清代码在运行。
    由此产生的一切后果本站均不负责。源码仅用于学习使用,如需运用到商业场景请咨询原作者。

    使用本站源码开发的产品均与本站无任何关系,请大家遵守国家相关法律。

     

    推荐排行

    • 易语言小程序解密源码

      原贴 [易语言首发]PCVX小程序解密 因为 我也不懂 就看了下这个 PC小程序解密.e 发出来不知道怎么用,所以 度娘一步步找答案得到 的 自行研究捉摸了下 仅供学习参考 1.打开 PC小程序解...

    • 易语言模块基址获取源码

      易语言模块基址获取源码,模块基址获取,GetModuleBaseAddress...

    • 易语言流程控制编译原理

      易语言流程控制编译原理源码,流程控制编译原理,是否汉字,读字符,是否运算符,是否逻辑运算符,指针回溯,跳过空格,跳过注释,代码块,取程序返回值,外部接口_代码块执行,外部接口_表达式计算,表达式计算,逻辑判断,文本到逻辑,函数调用,函数_位或,函数_测试,函数_信...

    • 易语言搜索程序隐藏代码

      易语言搜索程序隐藏代码源码,搜索程序隐藏代码,枚举子程序...

    • 易语言打鱼学习链表源码

      易语言打鱼学习链表源码,打鱼学习链表,入栈,出栈,清空链表,取顶数据,取索引处值,取长度,取值处索引,插入,删除,倒置,是否为空,到八,入队,出队...

    • 易语言脚本解析类源码

      易语言脚本解析类源码,脚本解析类,子程序1,QEHash,创建进入许可证_,进入许可区_,退出许可区_,删除进入许可证_,启动线程_,销毁线程_,寻找字节集_,内存_申请,内存_释放,内存_尺寸,内存_读整数,内存_写整数,内存_复制,内存_写字节集,内存_写文本,内存_读字节集,...

    • 易语言核心算术计算解析

      易语言核心算术计算解析源码,核心算术计算解析,信息框3,信息框2...

    • 易语言获取网页和密码例

      易语言获取网页和密码例程源码,获取网页和密码例程,取文档对象,取浏览器文档对象_API,注册消息_API,发送消息_API,置鼠标捕获窗口_API,取消鼠标捕获窗口_API,取窗口类名_API,取座标窗口句柄_API,取光标位置_API...

    • 易语言置入代码调用子程

      易语言置入代码调用子程序办法源码,置入代码调用子程序办法,普通写法,置入写法...