登录 注册 找回密码 开启辅助访问 商业用户中心 购物车有0件商品 切换到宽版
搜索
查看: 35315|回复: 55
打印 上一主题 下一主题

网络套接字支持库(2.2#0版更新)

    [复制链接]
跳转到指定楼层
#
发表于 2010-10-9 15:12:36 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 云外归鸟 于 2011-5-13 01:29 编辑

UDP通信时可以取得发送者的IP地址和端口。有两个组件:
一、异步套接字。为用户界面事件型的,接收发送连接都有事件通知。
二、同步套接字。已经封装成了一个TCP服务器,虽然表面是事件通知,但是内部是创建多线程的。因为有人说原来的TCP服务器模块连接数太少,所以编了个组件试试。何为同步套接字?即发送后和接收时都要等待用户一段时间,在这段时间内有用户响应或者直到超时才返回,但因为是工作在辅助线程里,不会影响进程(主线程)。
有详细的例程:下载网页、WEB服务器、UDP聊天的和上传文件

2.2#0版更新
支持静态库编译

2.0#1版更新
1、异步套接字类型增加“置为广播型”、“是否可写”和“是否可读”方法。
2、TCP服务器类型的线程池改用龚辟愚的多线程支持库的源码,支持设置等待线程数、等待时间,堆栈大小。并支持在线程中创建和使用COM对象。可组建高性能的服务器。
3、修改了WEB服务器例子,支持断点续传和中文路径名。
4、增加了网络留言板的例子,做为B/S应用示范。
5、增加用做线程协调的程序段许可证类。
2.0#2版更新
修改了在WIN98ME下线程池不能使用的问题(原线程池代码的BUG,据说还有30%的人还在用WIN98,所还是要继续更新)
2.0#3版更新
同步套接字的“接收”方法增加超时错误码反馈,用于区分接收的数据为空时,是等待超时还是被用户断开连接。
这点很重要,因为这样可以相当有了客户端断开事件
例:
.版本 2
.支持库 eSocket
.判断循环首 (控制)  ' 为全局变量,停止服务器时要退出所有线程的循环
    数据 = 当前客户.接收 (5)
    .如果真 (数据 = {  })
        .如果 (当前客户.取错误代码 () = #错误代码.WSAETIMEDOUT)  ' 原因为超时,而非被用户断开
            输出调试文本 (“没收到数据,继续等待...”)
            到循环尾 ()
        .否则
            输出调试文本 (“被用户断开了”)
            跳出循环 ()
        .如果结束
    .如果真结束
    输出调试文本 (“外理数据:”, 到文本 (数据))
.判断循环尾 ()

2.0#4版更新
修改同步套接字在客户断开时发送死锁的BUG和修改服务器忙时会暂停的问题
2.1#0版更新
据部分网友说端口有时取出会为负,这是因为易语言没有无符号短整型(端口用的USHORT),所以干脆把所有端口的参数改变整数型的,这样就不会有负数的现象,但是连接或绑定端口实际有效范围只能是1~65535,超过就无效了,也有说是1~32767的。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复

使用道具 举报

55#
发表于 2018-10-28 21:32:12 | 只看该作者
网络套接字支持库(2.2#0版更新)
回复 支持 反对

使用道具 举报

53#
发表于 2016-7-11 14:15:59 | 只看该作者
LIBC.lib(crt0dat.obj) : error LNK2005: __cinit already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: _exit already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __exit already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __cexit already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __c_exit already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __C_Exit_Done already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __C_Termination_Done already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __exitflag already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __wpgmptr already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __pgmptr already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: ___winitenv already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __wenviron already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: ___initenv already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __environ already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: ___wargv already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: ___argv already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: ___argc already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __winminor already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __winmajor already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __winver already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __osver already defined in libcmt.lib(crt0dat.obj)
LIBC.lib(crt0dat.obj) : error LNK2005: __umaskval already defined in libcmt.lib(crt0dat.obj)
回复 支持 反对

使用道具 举报

52#
发表于 2016-7-11 14:14:53 | 只看该作者
为什么双客户端,会有一个正在连接?
一个程序里两个组件
回复 支持 反对

使用道具 举报

50#
发表于 2016-1-6 10:28:14 | 只看该作者
吴涛的生日是1973年11月15,幸好我猜对了
回复 支持 反对

使用道具 举报

48#
发表于 2014-7-4 09:32:22 | 只看该作者
烦死了这个很好用、就是狗日的360报这个是病毒
回复 支持 反对

使用道具 举报

47#
发表于 2013-12-24 21:01:34 | 只看该作者
.版本 2

.子程序 _异步套接字1_数据到达
.参数 字节数, 整数型
.局部变量 头信息, 文本型
.局部变量 长度信息, 文本型
.局部变量 首位
.局部变量 末位
.局部变量 当前数据, 文本型
.局部变量 hh, 字节集
.局部变量 vv, 整数型
.局部变量 收到数据, 文本型, 静态
.局部变量 n, 整数型
.局部变量 十六进制文本, 文本型
.局部变量 文本, 文本型

复制端口 = 取事件组件 ()

取事件组件 (),,好像没有效果,不知道怎么搞
回复 支持 反对

使用道具 举报

46#
发表于 2013-10-25 22:26:46 | 只看该作者
支持一下!希望继续跟新!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表