社区
网络及通讯开发
帖子详情
求非阻塞serversocket处理源码,包括线程处理。谢谢。
rocsoar
2004-07-15 05:51:52
谢谢。
...全文
480
23
打赏
收藏
求非阻塞serversocket处理源码,包括线程处理。谢谢。
谢谢。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
23 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liujinsuiyue
2004-12-03
打赏
举报
回复
kangcunyong@163.com
给我一份吧! 我对这个感兴趣,但又不懂!
L·D·N
2004-11-20
打赏
举报
回复
我来的更晚了!看了很多你们的回帖,我从中学习了很多知识,但是还是差太多了!
能否再给我发一个?
lswhome@yahoo.com.cn
谢谢!
xkxingkong
2004-07-28
打赏
举报
回复
现在发我一个还晚不?
xkxingkong@163.com
ToIP
2004-07-22
打赏
举报
回复
WSAstartup()
socket
bind
listen
CreateThread(...,thread,...)
DWORD CALLBACK thread(void*)
{
SOCKET sa; /*socket after accept*/
bool flag = true;
while(flag)
{
sa = acdept(sServer,...);
{
//此处创建新的线程,并在线程中处理接受到的连接
}
//............、
}
}
pp616
2004-07-21
打赏
举报
回复
socket通讯分阻塞和非阻塞。
阻塞就是传统的锁定模式。这种模式最通常的处理方法就是一个socket对应一个维护线程。
非阻塞就是调用send or recv时函数直接返回需要在别的地方处理。
对于非阻塞windows 提供了 种IO模型
1.select(选择)
2.WSAAsyncSelect(异步选择)
3.WSAEventSelect(事件选择)
4.重叠
重叠又分为:
1。事件通知
2。完成例程
3。完成端口
vcl中的TServerSocket非阻塞实际上是选用了WSAAsyncSelect模式。
在《windows 网络编程》对于每重模式都有详细的介绍和示例代码。强烈建议搞网络通讯的兄弟们去看看。
windows 网络编程》人邮的 72¥
befree
2004-07-20
打赏
举报
回复
哪里痛?
windylyx
2004-07-20
打赏
举报
回复
happyct(绿叶对大树的情怀) : 源码已收到. 多谢!
rocsoar
2004-07-20
打赏
举报
回复
to: jiangchun_xn(再回头·灯火依旧·人不见·潸然泪下) ( )
例子太多了,看select的,比较清晰标准,
不好意思,还没领悟到你的意思。
rocsoar
2004-07-20
打赏
举报
回复
已经收到源码。thanks
happyct
2004-07-19
打赏
举报
回复
源码已发,请查收
jiangchun_xn
2004-07-17
打赏
举报
回复
例子太多了,看select的,比较清晰标准,
happyct
2004-07-17
打赏
举报
回复
当然可以给大家发了,不过实在对不起,要等到周一,我家里电脑没有,要回公司发,你们等等吧。。要的继续留信箱
rocsoar
2004-07-16
打赏
举报
回复
pp616(傻小子) :你好。
能否详细解释一下非阻塞方式下,多个客户端连接时,serversocket对每个客户端的处理方式?就当作是扫一下盲了。呵呵,thanks
pp616
2004-07-16
打赏
举报
回复
非阻塞方式用的IO模式不需要开线程来处理。
rocsoar
2004-07-16
打赏
举报
回复
冒昧的现弱弱问一声:如果用阻塞方式,就需要自己去写线程处理事件。而非阻塞方式,是serversocket自己去开线程处理吗?
rocsoar
2004-07-16
打赏
举报
回复
E-Mail:rocmike@163.com
thanks!
说实话,对于阻塞,非阻塞,我一直到现在都没搞明白。
constantine
2004-07-16
打赏
举报
回复
阻塞的才必须用线程,非阻塞用事件的read,write两个函数就可以了
happyct
2004-07-16
打赏
举报
回复
我有一个及其好的,留下你的信箱。不过,记得给分哦
耙子
2004-07-16
打赏
举报
回复
BCB的help里面就有例子
windylyx
2004-07-16
打赏
举报
回复
我的信箱: windy_lyx2008@hotmail.com
加载更多回复(3)
java7hashmap
源码
-network_program:学习java网络编程
java7 hashmap
源码
[toc] java网络编程学习 简介 用于存放学习java网络编程过程遇见的重难点笔记和相关代码 附带代码大部分是《java网络编程 第四版》的课程代码 对运算字符串进行识别的作业 @since2020.11.26 IO流 - 多
线程
@since2020.11.26 internet地址 @since2020.11.27 URL 和 URI 类 @since2020.11.28 HTTP @since 2020.11.28 URLConnection @since 2020.11.29 Socket
ServerSocket
学习 @since 2020.12.01
非阻塞
I/O @since 2020.12.01 IO Stream read() 和 write() public abstract int read(int) throws IOException public abstract void write(int) throws IOException 这两个抽象方法是由 inputStream 和 outputStream 的具体子类实
线程
的阻塞和中断
1
线程
的阻塞 阻塞和
非阻塞
是形容多个
线程
之间的相互影响的,一个
线程
占用了临界区资源,那么其他
线程
必须在临界区外等待,阻塞是操作系统层面挂起,上下文切换了,所以性能不高。如果一个
线程
一直占用不释放资源,那么其他需要该临界区资源的
线程
都必须一直等待。
非阻塞
就是运行多个
线程
同时进入临界区,只要保证不把数据修改坏就行。 阻塞情况分为三种: 等待阻塞:运行的
线程
执行wait()方法,JVM会把该线...
Java 内核原理入门到实战(大神必经之路)
主要特性Java 语言是简单的:Java 语言的语法与 C 语言和 C++ 语言很接近,使得大多数程序员很容易学习和使用。另一方面,Java 丢弃了 C++ 中很少使用的、很难理解的、令人迷惑的那些特性,如操作符重载、多继承、自动的强制类型转换。特别地,Java 语言不使用指针,而是引用。并提供了自动分配和回收内存空间,使得程序员不必为内存管理而担忧。Java 语言是面向对象的:Java 语言提供类、接口和继承等面向对象的特性,为了简单起见,只支持类之间的单继承,但支持接口之间的多继承,并支持类与接口之间的实现机制(关键字为 implements)。Java 语言全面支持动态绑定,而 C++语言只对虚函数使用动态绑定。总之,Java语言是一个纯的面向对象程序设计语言。Java语言是分布式的:Java 语言支持 Internet 应用的开发,在基本的 Java 应用编程接口中有一个网络应用编程接口(java net),它提供了用于网络应用编程的类库,
包括
URL、URLConnection、Socket、
ServerSocket
等。Java 的 RMI(远程方法激活)机制也是开发分布式应用的重要手段。Java 语言是健壮的:Java 的强类型机制、异常
处理
、垃圾的自动收集等是 Java 程序健壮性的重要保证。对指针的丢弃是 Java 的明智选择。Java 的安全检查机制使得 Java 更具健壮性。Java语言是安全的:Java通常被用在网络环境中,为此,Java 提供了一个安全机制以防恶意代码的攻击。除了Java 语言具有的许多安全特性以外,Java 对通过网络下载的类具有一个安全防范机制(类 ClassLoader),如分配不同的名字空间以防替代本地的同名类、字节代码检查,并提供安全管理机制(类 SecurityManager)让 Java 应用设置安全哨兵。Java 语言是体系结构中立的:Java 程序(后缀为 java 的文件)在 Java 平台上被编译为体系结构中立的字节码格式(后缀为 class 的文件),然后可以在实现这个 Java 平台的任何系统中运行。这种途径适合于异构的网络环境和软件的分发。Java 语言是可移植的:这种可移植性来源于体系结构中立性,另外,Java 还严格规定了各个基本数据类型的长度。Java 系统本身也具有很强的可移植性,Java 编译器是用 Java 实现的,Java 的运行环境是用 ANSI C 实现的。Java 语言是解释型的:如前所述,Java 程序在 Java 平台上被编译为字节码格式,然后可以在实现这个 Java 平台的任何系统中运行。在运行时,Java 平台中的 Java 解释器对这些字节码进行解释执行,执行过程中需要的类在联接阶段被载入到运行环境中。Java 是高性能的:与那些解释型的高级脚本语言相比,Java 的确是高性能的。事实上,Java 的运行速度随着 JIT(Just-In-Time)编译器技术的发展越来越接近于 C++。Java 语言是多
线程
的:在 Java 语言中,
线程
是一种特殊的对象,它必须由 Thread 类或其子(孙)类来创建。通常有两种方法来创建
线程
:其一,使用型构为 Thread(Runnable) 的构造子类将一个实现了 Runnable 接口的对象包装成一个
线程
,其二,从 Thread 类派生出子类并重写 run 方法,使用该子类创建的对象即为
线程
。值得注意的是 Thread 类已经实现了 Runnable 接口,因此,任何一个
线程
均有它的 run 方法,而 run 方法中包含了
线程
所要运行的代码。
线程
的活动由一组方法来控制。Java 语言支持多个
线程
的同时执行,并提供多
线程
之间的同步机制(关键字为 synchronized)。Java 语言是动态的:Java 语言的设计目标之一是适应于动态变化的环境。Java 程序需要的类能够动态地被载入到运行环境,也可以通过网络来载入所需要的类。这也有利于软件的升级。另外,Java 中的类有一个运行时刻的表示,能进行运行时刻的类型检查。
c++ 通信演进level4 ----多
线程
异步
非阻塞
通信(AIO)
今天,将最后一个流模型例子给记录一下,代码同样来自于网上。由于一些原因,导致心情不是很好,还是按照既定计划,将该demo的笔记记录一下。
源码
地址:地址。 它是基于 windows的iocp完成的,所以是异步
非阻塞
io。 最近看了很多的关于io说明的,各种帖子看的我头大,始终还是没彻底搞懂,估计是没接触过太多,境界还没到。但是毫无疑问的是,windows的iocp是属于异步
非阻塞
io的...
IO的阻塞与
非阻塞
、同步与异步以及Java网络IO交互方式(转)
最近工作中,接触到了Java网络编程方面的东西:Socket、NIO、MongoDB等,也看了tomcat的
源码
,也加强了
线程
方面的知识,也使用了MINA这样的框架。感觉获益良多,原本技术上的薄弱环节也在慢慢提高,很多想写的东西,也在慢慢规划整理。无奈最近在筹备婚礼的事情,显得有些耽搁。 想了很久,决定先写写IO中经常被提到的概念——“同步与异步、阻塞与
非阻塞
”以及在Java网络编程中的...
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章