windows网络编程
文章平均质量分 63
wanjingwei
本人还是学生,热爱程序设计,但是由于水平有限目前还只是个菜鸟。愿结交程序高手或同样热爱程序设计的朋友。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
聊天室用户列表功能
实现类似聊天室的那种用户列表的功能,其基本原理是每次用户登陆到聊天室就给服务器发送一个消息,该消息可以是用户的IP地址、主机名或登陆昵称(这里为方便起见用的是主机名),然后服务器收到消息后就将该消息广播到连接到服务器的所有客户端,这样所有的用户就都有了一个包含其他用户消息的列表了。下面是简单的代码,仅测试这个功能。 服务器端代码:BOOL CCWINDlg::OnInitDialo原创 2009-06-27 21:01:00 · 2418 阅读 · 0 评论 -
套接字I/O模型之WSAEventSelect
今天我又学习了一种新的套接字I/O模型------WSAEventSelect,他与WSAAsyncSelect一样也是一种异步事件通知模型,不同的是WSAAsyncSelect是与窗口句柄关联在一起的,必须要要窗口才行,而WSAEventSelect是与事件对象关联的。这个模型的基本思路是为感兴趣的一组网络事件创建一个事件对象,再调用WSAEventSelect函数将网络事件和事件对象关联起来。原创 2009-06-29 12:54:00 · 30260 阅读 · 20 评论 -
设置阻塞或非阻塞套接字
最近写这方面的程序遇到许多麻烦,都是阻塞和非阻塞套接字混淆导致的。这里做个记号,以后不准错了。 这是非阻塞编程阻塞的:SOCKET s=socket(AF_INET,SOCK_XXX,0);u_long ul=0; ioctlsocket(s,FIONBIO,(u_long*)&ul); 阻塞变成非阻塞就把u_long ul=1;就行了原创 2009-06-28 16:21:00 · 1991 阅读 · 0 评论 -
UDP的传输功能
最近看了几个聊天室和发送文件的代码,觉得比较有意思。于是我就想自己也试着弄一个这样的程序出来,下面开始介绍我乱搞的这个程序。界面是模仿飞鸽的界面,但功能比那个菜多了,比山寨还山寨。只有传消息和传文件的功能。首先定义两个结构体://这个是用户信息结构体,有主机名和IP地址。呆会要添加到列表狂里typedef struct userInfo{ char myhost[256]; char原创 2009-07-02 20:21:00 · 2242 阅读 · 2 评论 -
套接字之重叠I/O模型
刚刚把重叠I/O套接字理解了一点,于是在此做个笔记,给出一个重叠I/O处理单个套接字的程序。 这个程序是TCP的服务器端程序。该程序只能接收一个客户端的连接,循环发送信息,以及该客户端退出时服务器端得到响应。 套接字库初始化等代码省略了,只包含一个监听部分和一个处理I/O部分的代码。如下: void COVERLAPPEDDlg::OnButton1() //开启服务器按钮原创 2009-07-03 22:40:00 · 2785 阅读 · 0 评论 -
同一时刻只允许一个客户端连接的例子
最近做一个关于服务器和客户端互相通信的程序,题目有两个要求:1.服务器只能接收一个客户端的连接,当有第二个客户端连接时就会失败;2.当已经连接的客户端断开后,其他的客户端就可以去连接服务器了。这样的要求看似很简单,但做的过程中我才发现,客户端程序很好写,可服务器端有点麻烦了。首先只能接收一个客户端连接的服务器程序,这个很另类,网上找了大多都是研究怎么让服务器可以同时与多个客户端打交道,于是只能自己慢慢搞了。实践过程中,我发现,只要服务器端在调用了accept函数之后把用于listen用的socket给关闭掉原创 2010-07-08 21:39:00 · 2666 阅读 · 0 评论
分享