第 11 卷第 2 期
2008 年 4 月
西安文理学院学报 :自然科学版
JournalofXi ’anUniversityofArts&Science
(
NatSciEd
)
Vol.11 No.2
Apr.2008
文章编号 :100825564
(
2008
)
0220097204
收稿日期 :2007210225
作者简介 :姚斌
(
1981 —
)
,男 ,山西灵丘人 ,陕西科技大学电气与信息工程学院计算机系助教 ,硕士. 研究方向 :计算
机网络应用.
基于 WinSock的局域网点对点即时通信的实现
姚 斌
1
,康世英
2
,周 蕊
3
(
1. 陕西科技大学 电气与信息工程学院 ,陕西 西安 710021;2. 咸阳师范学院 计算机科学系 ,陕西 咸阳 712000;
3. 陕西科技大学 理学院 ,陕西 西安 710021
)
摘 要 :随着企业办公自动化的逐步推行 ,企业各部门间的即时通信显得尤其重要. 文中对 Windows
下 TCP/IP 编程接口 WinSock
(
WindowsSocket
)
的相关知识进行了概述 ,分析了在 Windows环境应用 Socket
实现网络通信的机制 ,阐述了如何基于 WinSock创建面向连接的客户机/ 服务器
(
C/S
)
网络应用程序并
给出了一种基于 WinSock的局域网环境下利用 UDP实现点对点即时通信的方式. 企业各部门之间通过
这种手段通信 ,既可以保证信息安全 ,又大大减轻了文件服务器的负荷 ,增加了通信的灵活性.
关键词 :WinSock;点对点 ;通信 ;局域网
中图分类号 :TP311.1 文献标识码 :A
0 引言
点对点通信是指网内工作站之间的直接通信. 这将大大减轻文件服务器的负荷 ,并能够提高网络性
能和增加通信的灵活性. 在一个现代企业中 ,部门间的点对点即时通信作为办公自动化的一个很重要的
组成部分 ,信息要及时传递给对方 ,同时也要注意信息安全. 本文就是考虑到这一现状 ,给出了一种基于
企业局域网的点对点即时通信应用的例子.
1 WinSock及 UDP 协议概述
WinSock
(
WindowsSocket的简称
)
规范是一套开放的、支持多种协议的 Windows下的网络编程接口 ,
经过不断完善也成为 Windows网络编程的事实上的标准. 它是一个基于 Socket模型的 API, 程序员能够
充分利用 Windows消息驱动机制进行编程.WinSock 规范定义了一个 TCP/IP 网络上开发 Windows程序
的接口标准 ,它以 DLL来实现 Socket接口.WinSock 位于 TCP/IP 协议栈和应用程序的中间 ,程序利用
WinSock及其对底层硬件的控制 ,来实现网络通信. 微软公司在此基础上创建了 WinSock控件 ,专门用于
Windows接口 ,与 Sockets完全兼容.WinSock 可以实现很强大的网络功能 ,但在应用中需调用很多的库函
数 ,编程比较复杂.
WinSock库函数都包含在 WinSock.dll 这个动态链接库中 ,这个动态链接库在系统中作为网络应用
程序与 TCP/IP 协议的中间连接的桥梁 ,如图 1 所示. 网络编程中的点对点通信 ,通信双方对等 ,既有客
户机功能又有服务器的功能 ,编程简单 ,适合传输数据流少的场合 ,而且采用简单的 UDP 协议 ,易于实
现. 因此本文中的点到点通信是基于 WinSock控件来实现的.