<计算机网络实验>基于TCP的网络聊天室的设计-实验指导一、实验目的1.掌握通信规范的制定及实现。
2.练习较复杂的网络编程,能够把协议设计思想应用到现实应用中。
二、实验内容和要求1.进一步熟悉VC++6编程环境;
2.利用VC++6进行较复杂的网络编程,完成网络聊天室的设计及编写;
三、实验(设计)仪器设备和材料1.计算机及操作系统:PC机,Windows;
2.网络环境:可以访问互联网;
四、TCP/IP程序设计基础基于TCP/IP的通信基本上都是利用SOCKET套接字进行数据通讯,程序一般分为服务器端和用户端两部分。
设计思路(VC6.0下):第一部分 服务器端一、创建服务器套接字(create)。
二、服务器套接字进行信息绑定(bind),并开始监听连接(listen)。
三、接受来自用户端的连接请求(accept)。
四、开始数据传输(send/receive)。
五、关闭套接字(closesocket)。
第二部分 客户端一、创建客户套接字(create)。
二、与远程服务器进行连接(connect),如被接受则创建接收进程。
三、开始数据传输(send/receive)。
四、关闭套接字(closesocket)。
CSocket的编程步骤:(注意我们一定要在创建MFC程序第二步的时候选上WindowsSocket选项,其中ServerSocket是服务器端用到的,ClientSocket是客户端用的。
)(1)构造CSocket对象,如下例:CSocketServerSocket;CSocketClientSocket;(2)CSocket对象的Create函数用来创建WindowsSocket,Create()函数会自行调用Bind()函数将此Socket绑定到指定的地址上面。
如下例:ServerSocket.Create(823);//服务器端需要指定一个端口号,我们用823。
ClientSocket.Create();//客户端不用指定端口号。
(3)现在已经创建完基本的Socket对象了,现在我们来启动它,对于服务器端,我们需要这个Socket不停的监听是否有来自于网络上的连接请求,如下例:ServerSocket.Listen(5);//参数5是表示我们的待处理Socket队列中最多能有几个Socket。
(4)对于客户端我们就要实行连接了,具体实现如下例:ClientSocket.Connect(CStringSerAddress,UnsingedintSerPort);//其中SerAddress是服务器的IP地址,SerPort是端口号。
(5)服务器是怎么来接受这份连接的呢?它会进一步调用Accept(ReceiveSocket)来接收它,而此时服务器端还须建立一个新的CSocket对象,用它来和客户端进行交流。
如下例:CSocketReceiveSocket;ServerSocket.Accept(ReceiveSocket);(6)如果想在两个程序之间接收或发送信息,MFC也提供了相应的函数。
如下例:ServerSocket.Receive(String,Buffer);//String是你要发送的字符串,Buffer是发送字符串的缓冲区大小。
ServerSocket.Send(String,Butter);//String是你要接收的字符串,Buffer是接收字符串的缓冲区大小。
2024/10/25 8:57:34 4.24MB 基于TCP的网络聊天室 网络聊天室
1
用Verilog编程,在DE2-115上通过控制88E1111以RGMII的工作方式向PC机发送ARP测试包,可以用wireshark进行抓包分析
2024/10/21 22:54:19 649KB DE2-115 fpga
1
大家平时在用类似鲁大师之类软件的时候,会看到鲁大师之类的软件能够获取到PC机的硬件的详细信息,有时候自己在写软件的时候也需要获取PC硬件的详细信息,这个时候你会发现有的硬件信息通过系统的API函数无法获取到或者获取的不准确。
所以这个时候就要通过WMI编程来获取硬件信息了。
WMI是windows操作系统用来管理软件和硬件的核心。
其它的不再多讲了,下面来看最主要的,通过WMI获取硬件信息。
2024/10/15 14:04:25 44KB C++ WMI编程
1
**********四海之内皆兄弟**************二个博客资料http://www.misssir.cn/art/_show.aspx?art=5http://blog.csdn.net/VisionCat/archive/2005/01/18/258510.aspx三本书合辑:PC机汇编语言实战精解(圣凡哥分享)VGA图形控制器直接编程技术6.docVGA实用编程技术.pdf
2024/10/11 10:13:07 1.94MB 汇编 VGA 显示模式
1
本资料是英文,第四版。
全书分成三部分,共19章。
第一部分(1章~10章):控制的应用原则。
依次介绍控制理论、频率域研究法、控制系统的调试、数字控制器中的延迟、z—域研究法、四种控制器、扰动响应、前馈、控制系统中的滤波器、控制系统中的观测器;
第二部分(11章~13章):建模。
依次介绍了时间域与频率域研究法、时变与非线性、模型开发与验证;
第三部分(14~19章):运动控制。
依次介绍编码器和旋转变压器、电子伺服电机与驱动基础、柔性与谐振、位置控制回路、运动控制中的Luenberger观测器、快速控制原型技术等。
本书作者还提供了独具特色的基于PC机的单机图形化仿真环境VisualModelQ,读者可在其中图形建模,并运行书中提及的控制系统的各类有关实验。
实验内容丰富而又实用。
本书最后还提供了借助于NationalInstruments公司的LabVIEW软件及相关硬件实施快速控制原型技术的实验,非常贴近实际的控制系统开发应用。
2024/10/6 3:07:01 19.64MB 控制系统设计 Control Design Guide
1
本人已经不做这个方向了,特拿出来与大家共享。
内含:源代码(一个能够在PC上识别车牌图片的完成系统,一个示例的hello工程);
移植到DSP还要花点时间的,除非你DSP启动代码都好了(这部分代码找不到了哦);
原创论文一篇,适合写课程设计、小论文等等情况;
网络上载的一些正规公司的资料。
本文介绍了一个以TI公司的TMS320DM642为核心芯片的DSP车牌识别系统设计、实现和优化。
该系统首先通过摄像机拍摄车辆的视频,输入视频信号到DSP板卡;然后从输入的视频信号中捕捉图像,识别图像中的车牌的类型、颜色和号码,最后通过串口把识别结果传到PC机。
该系统主要分为三个部分:摄像机、DSP系统和PC端软件。
文章主要介绍了DSP系统中DSP车牌识别软件的实现和优化。
由于DSP系统与普通PC机的不同,文章中详细说明了为了提高运行的速度,对DSP车牌识别软件进行的各种优化。
这些优化主要包括,提高并行性、减少运算和使用TI提供的经过优化的库等等。
经过这些优化,使DSP车牌识别系统能在(不到0.4秒)很短时间内完成一个车牌的识别及其他处理,满足了实际应用的要求。
2024/9/30 11:33:27 545KB DSP 车牌识别 TMS320DM642 源代码
1
lpc2214核心板arm7最小系统protel硬件原理图+PCB文件,采用4层板设计,板子大小为85x55mm,双面布局布线,NXP的ARM7芯片LPC2214,USB转串口芯片CH340G,LDO电源芯片为AMS1117,MICROUSB接口供电,供电可以直接用安卓手机充电线接PC机。
Protel99se设计的DDB后缀项目工程文件,包括完整无措的原理图及PCB印制板图,可用Protel或AltiumDesigner(AD)软件打开或修改,已经制板并在实际项目中使用,可作为你产品设计的参考。
1
FT245是一种实现SoC和PC机之间USB互联的芯片,工作模式为并行方式,并且有发送和接收缓存,此代码为基于FPGA的Verilog程序,代码移植性高,可读性强
2024/8/28 20:47:49 9KB FT245 usb FPGA
1
mimics10.01绿色含注册器三维重建软件MIMICS是一套高度整合而且易用的3D图像生成及编辑处理软件,它能输入各种扫描的数据(CT、MRI),建立3D模型进行编辑,然后输出通用的CAD(计算机辅助设计)、FEA(有限元分析),RP(快速成型)格式,可以在PC机上进行大规模数据的转换处理。
MIMICSFEA模块MIMICSFEA模块可以将扫描输入的数据进行快速处理,输出相应的文件格式
2024/8/27 9:11:32 161.24MB mimics
1
本系统基于移动互联网技术构建一种大气污染监测系统。
该系统不仅采用市电,还采用太阳能对其供电,使PM2.5监测系统实时独立运行、维护简单、绿色环保;
将大气污染物成分检测传感器和高精度的A/D转换器连接,同时监测取样点的温度、湿度等指标,采样数据送入单片机进行处理,以此提高数据采集的可靠性;
本系统突破传统PM2.5检测仪器数据更新不及时、高成本以及检测过程复杂的问题,采用GPRS无线数据传输,实现监测数据的实时更新;
采用液晶显示屏显示检测数据,易于读取;
采用模块式电路,使得系统检测功能得以增强;
采用单片机作为下位机,实现收集、处理、分析、发送数据的功能,PC机作为上位机,实时获取、显示监测数据。
2024/8/15 4:26:17 16.06MB PM2.5 空气检测
1
共 137 条记录 首页 上一页 下一页 尾页
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡