登录 注册 找回密码 开启辅助访问 商业用户中心 购物车有0件商品 切换到宽版
搜索
查看: 30595|回复: 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
回复

使用道具 举报

发表于 2010-10-11 13:36:40 | 显示全部楼层
坐沙发,大鸟的东西得顶。
回复 支持 反对

使用道具 举报

发表于 2010-10-11 19:51:58 | 显示全部楼层
支持牛人作品!
回复 支持 反对

使用道具 举报

发表于 2010-10-12 19:01:35 | 显示全部楼层
支持一下!
回复 支持 反对

使用道具 举报

发表于 2010-10-12 20:15:39 | 显示全部楼层
大鸟的东西得顶
回复 支持 反对

使用道具 举报

发表于 2010-10-29 09:32:24 | 显示全部楼层
支持大鸟。。。。
回复 支持 反对

使用道具 举报

发表于 2010-11-19 17:53:38 | 显示全部楼层
支持大鸟。。。
回复 支持 反对

使用道具 举报

发表于 2010-11-21 22:42:22 | 显示全部楼层
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2010-11-23 08:51:54 | 显示全部楼层
支持小鸟!
回复 支持 反对

使用道具 举报

发表于 2010-11-23 23:56:57 | 显示全部楼层
终于找到例程了...谢谢.
回复 支持 反对

使用道具 举报

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

本版积分规则

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