用WINSOCK实现聊天室的VC++程序设计

基于winsock的局域网聊天室实现 最初实现是由于课题要求运用WinSock实现SOCKET通信,就去了解了一下了一下winsock的官方文档:微软Winsock文档 WINSock2最初设计目的便是向Windows添加IPv4通信的支持,其工作原理就是在原有的Socket编程上进一步适应于Windows的开发与使用,其具体实现步骤如下: 但在这里要实现一个多人的聊天室,故就要引入多线程的开发,... 阅读详情
用WINSOCK实现聊天室的VC++程序设计

一、SOCKET简介
80年代初,美国政府的高级研究工程机构(ARPA)给加利福尼亚大
学Berkeley分校提供了资金,让他们在UNIX操作系统下实现TCP/IP协
议。在这个项目中,研究人员为TCP/IP网络通信开发了一个API(应用
程序接口)。这个API称为Socket接口(套接字)。今天,SOCKET接口
是TCP/IP网络最为通用的API,也是在INTERNET上进行应用开发最为通
用的API。
90年代初,由Microsoft联合了其他几家公司共同
制定了一套WINDOWS下的网络编程接口,即WindowsSockets规范。它是
BerkeleySockets的重要扩充,主要是增加了一些异步函数,并增加了
符合Windows消息驱动特性的网络事件异步选择机制。WINDOWSSOCKETS
规范是一套开放的、支持多种协议的Windows下的网络编程接口。从
1991年的1.0版到1995年的2.0.8版,经过不断完善并在Intel、
Microsoft、Sun、SGI、Informix、Novell等公司的全力支持下,已成
为Windows网络编程的事实上的标准。目前,在实际应用中的
WINDOWSSOKCETS规范主要有1.1版和2.0版。两者的最重要区别是1.1版
只支持TCP/IP协议,而2.0版可以支持多协议。2.0版有良好的向后兼容
性,任何使用1.1版的源代码,二进制文件,应用程序都可以不加修改地
在2.0规范下使用。
SOCKET实际在计算机中提供了一个通信端口,可以通过这个端口
与任何一个具有SOCKET接口的计算机通信。应用程序在网络上传输,接
收的信息都通过这个SOCKET接口来实现。在应用开发中就像使用文件句
柄一样,可以对SOCKET句柄进行读,写操作。
二、基于WINDOWS SOCKET的应用开发介绍。
在WINDOWS95/98,WINDOWSNT进行WINSOCK开发使用的编程语言有很多,
VC++,JAVA,DELPHI,VB等。其中VC时使用最普遍,和WINSOCK结合最
紧密的。并且VC++对原来的WindowsSockets库函数进行了一系列封装,
继而产生了CAsynSocket、CSocket、CSocketFile等类,它们封装着
有关Socket的各种功能,是编程变得更加简单。但如果你是一个
WINSOCK编程的初学者,那么建议你在一开始还是学习WINSOCK最基本的
API函数进行编程,这样可以大大加深对WINSOCK的了解,对将来很有好
处。
在VC中进行WINSOCK的API编程开发,需要使用到下面三个文件:
1、WINSOCK.H: 这是WINSOCK API的头文件。
2、WSOCK32.LIB: WINSOCK API连接库文件。在使用中,一点要把它作为项目
的非缺省的连接库包含到项目文件中去。
3、WINSOCK.DLL: WINSOCK的动态连接库,位于WINDOWS的安装目录下。
WINSOCK接口在WINDOWS编程环境中的位置如下图所示:



可以看到,WINSOCK。DLL位于TCP/IP协议栈和应用程序之间。也就
是说,WINSOCK管理与TCP/IP协议的接口。在一开始WINSOCK的应有开
发时,你不必对TCP/IP协议有很深刻的了解。但是,如果想成为一个为
网络编程的高手,就一定要对下层了解得十分清楚。
在网络编程中最常用的方案便是客户机/服务器模型。在这种方案中
客户应用程序向服务器程序请求服务。一个服务程序通常在一个众所周
知的地址监听对服务的请求,也就是说,服务进程一直处于休眠状态,
直到一个客户对这个服务的地址提出了连接请求。在这个时刻,服务程
序被“惊醒”并且为客户提供服务-对客户的请求作出适当的反应。虽
然基于连接协议(流套接字)的服务是设计客户机/服务器应用程序时的
标准,但有些服务也是可以通过无连接协议(数据报套接字)提供的。
其编程模型分别如下:

面向连接协议的SOCKET编程模型


=======================================================

VC++6.0 Sockets API实现聊天室程序 VC++6.0 Sockets API实现聊天室程序 1.VC++网络编程Windows Sockets API简介VC++网络编程的支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中,Windows Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用的API。最早美国加州大学Berkeley分校在UNIX下为TCP/IP协议 阅读详情

相关推荐

VC++实现的多人聊天室项目实战

TCP/IP是一组用于互联网和私有网络通信的协议,它定义了数据如何打包、寻址、传输和接收的过程。TCP(传输控制协议)和IP(互联网协议)是这个协议族中最为人熟知的两个协议,但TCP/IP协议族实际上包含了一系列协议,包括但不限于UDP、ARP、ICMP等。IP协议作为网络层的核心协议,负责将数据包从源头传输到目的地,但不保证数据包的顺序和完整性。TCP协议建立在IP协议之上,提供面向连接的、可靠的数据传输服务,确保数据正确无误地到达,并按照正确的顺序排列。

weixin_28721743的博客 878

基于winsock的Netchat聊天程序

1、本程序是基于winsock2的vc6.0源程序 2、程序的功能是实现基于socket通信的网络聊天 3、本程序可以作为学习socket网络编程的基础例程

VC++多线程与Socket聊天室开发实战

在现代软件开发中,多线程与网络编程已成为构建高性能、高并发应用程序不可或缺的核心技术。随着互联网应用的广泛普及,用户对系统响应速度、并发处理能力和跨设备通信能力提出了更高要求。本章将从基础出发,介绍多线程编程的基本原理,包括线程的创建、调度与资源管理,并探讨其在VC++开发环境中的具体实现方式。同时,我们还将概述网络通信的基本模型,为后续章节中Socket编程、异步通信与多线程整合打下理论基础。

weixin_35752645的博客 896

WinSock(小型聊天工具)(有界面)

相当于一个聊天工具,只要改一下里面的端口和服务器IP地址就可以用

Windows网络编程Winsock实现客户端与服务器文件传输(TCP/IP)

在《Qt实现客户端与服务器消息发送与文件传输》一文里Jungle用Qt和Qt封装的类实现了客户端与服务器之间的消息发送和文件传输。本文Jungle尝试用Windows编程实现客户端与服务器之间的文件传输。不过本文仅仅简单介绍如何实现socket套接字传输。不足之处请各位CSDNer之初。 1.Winsock2 借用百度百科:“WinSock2是连接系统和用户使用的软件之间用于交流的一个接口。W...

冯Jungle的个人博客 6295

SOCKET编程】基于C++的TCP/UDP的聊天室

socket【插座;接口】:其实是模拟打电话的过程,IP地址就是电话号码,socket就是

写自己看而已 1万+

网络编程/下(简单实现聊天室

需求 使用TCP的Socket实现一个聊天室 服务器端:一个线程专门发送消息,一个线程专门接受消息。 客户端:一个线程专门发送消息,一个线程专门接受消息。 群聊,私聊 ...

w_xy999的博客 1091

实例146聊天程序

System.Net.Sockets 命名空间 https://docs.microsoft.com/zh-cn/dotnet/api/system.net.sockets?view=netcore-3.1 .NET类采用的分层结构允许应用程序在不同的控制级别上访问网络,开发人员可以根据需要选择针对不同的级别编制程序,这些级别几乎囊括了Internet的所有需要一一从Socket套接字到普通的请求/响应。.NET类可以视为包含3个层次:请求/响应层、应用协议层和传输层。WebReqeust和We..

复行数十步 343

基于winsock聊天程序

一个很好的学习winsock网络编程的例子,同时也能很好的了解学习mfc的一些消息机制

Winsock实现网络聊天室

《Visual C++网络通信编程实用案例精选》配套源码 Winsock实现网络聊天室【\chap1\ChatRoom(Winsock)】 CSocket实现聊天室【\chap1\ChatRoom(Csocket)】

VC++6.0的Sockets API实现一个聊天室程序

1.VC++网络编程Windows Sockets API简介  VC++网络编程的支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中,Windows Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用的API。最早美国加州大学Berkeley分校在UNIX下为TCP/IP协议开发了一个API,这个API就是著名的Berkeley

junnan321的专栏 5616

VC++6.0下用Sockets API实现一个聊天室程序

 VC++网络编程的支持有socket支持,WinInet支持,MAPI和ISAPI支持等。其中,Windows Sockets API是TCP/IP网络环境里,也是Internet上进行开发最为通用的API。最早美国加州大学Berkeley分校在UNIX下为TCP/IP协议开发了一个API,这个API就是著名的Berkeley Socket接口(套接字)。在桌面操作系统进入Windows

民工之家 984

VC++多线程聊天室实战:WinSock网络编程与线程同步详解

网络编程是构建分布式系统的核心技术,其核心在于实现不同主机间的进程通信。TCP/IP协议栈提供了可靠的字节流传输服务,而Socket API则是操作系统提供的网络编程接口,开发者通过调用Socket函数创建连接、发送和接收数据。在Windows平台下,WinSock API是实现网络通信的基础,理解其阻塞与非阻塞模式、select模型等概念对掌握高性能服务器开发至关重要。多线程技术能够有效提升程序的并发处理能力,通过为每个客户端连接创建独立线程,可以实现同时服务多个用户的需求。然而,多线程环境下共享资源的访

weixin_30411819的博客 391
上一篇: "陷阱"技术探秘----动态汉化Windows技术的分析
andymei
博客等级 码龄26年 1粉丝 3原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值