摘要: Windows套接字在两种模式下执行I/O操作,一种是阻塞模式,一种是非阻塞模式。在阻塞模式下,在I/O操作完成之前,执行I/O操作的Winsock函数会一直等待下去,不会立即返回程序,将控制权交回程序。在非阻塞模式下,Winsock函数都会立即返回。 在非阻塞模式下编程,使用的技术是基于消息的异步套接字。由于Windows是基于消息的,我们可以让Winsock函数立即返回。当指定的消息到来时,可以通过发送消息,在指定的消息响应函数中完成响应的操作。 Windows Sockets的异步选择函数WSAAsyncSelect()提供了消息机制的网络事件选择,当使用它登记的网络事件发生时,Windows应用程序相应的窗口函数将收到一个消息,消息中指示了发生的网络事件,以及与事件相关的一些信息。我们可以通过这个函数来注册网络事件。 阅读全文
posted @ 2011-10-16 23:06 乘风736 阅读(4707) 评论(0) 推荐(0) 编辑
摘要: 最近学习了网络编程,在学习多线程技术后,就尝试着用多线程技术写了一个网络聊天程序。下面介绍一下具体的实现过程。 既然是聊天程序,肯定要发送数据和接收数据,这里我新创建了一个线程来接收数据,用主线程来发送数据。同一个进程中的两个线程可以独立运行并相互交通信。因此可以实现数据的接收和发送。 先建立一个基于对话框的应用程序,并在对话框上放置接收数据的编辑框、发送数据的编辑框、目的主机的IP地址控件、发送按钮等相应控件,并修改其ID值。然后开始添加代码,实现网络聊天程序。 阅读全文
posted @ 2011-10-16 21:30 乘风736 阅读(5657) 评论(2) 推荐(1) 编辑