首页
熊猫办公下载
文件下载
根据地址查询经纬度
登录 / 注册
一级分类:
安全技术
存储
操作系统
服务器应用
行业
课程资源
开发技术
考试认证
数据库
网络技术
信息化
移动开发
云计算
大数据
跨平台
音视频
游戏开发
人工智能
区块链
二级分类:
C++使用SOCKET实现TCP-IP协议的通讯最好的DEMO源码
首先要理解基本的原理,2台电脑间实现TCP通讯,首先要建立起连接,在这里要提到服务器端与客户端,两个的区别通俗讲就是主动与被动的关系,两个人对话,肯定是先有人先发起会话,要不然谁都不讲,谈什么话题,呵呵!一样,TCPIP下建立连接首先要有一个服务器,它是被动的,它只能等待别人跟它建立连接,自己不会去主动连接,那客户端如何去连接它呢,这里提到2个东西,IP地址和端口号,通俗来讲就是你去拜访某人,知道了他的地址是一号大街2号楼,这个是IP地址,那么1号楼这么多门牌号怎么区分,嗯!门牌号就是端口(这里提到一点,我们访问网页的时候也是IP地址和端口号,IE默认的端口号是80),一个服务器可以接受多个客户端的连接,但是一个客户端只能连接一台服务器,在连接后,服务器自动划分内存区域以分配各个客户端的通讯,那么,那么多的客户端服务器如何区分,你可能会说,根据IP么,不是很完整,很简单的例子,你一台计算机开3个QQ,服务器怎么区分?所以准确的说是IP和端口号,但是客户端的端口号不是由你自己定的,是由计算机自动分配的,要不然就出现端口冲突了,说的这么多,看下面的这张图就简单明了了。
在上面这张图中,你可以理解为程序A和程序B是2个SOCKET程序,服务器端程序A设置端口为81,已接遭到3个客户端的连接,计算机C开了2个程序,分别连接到E和D,而他的端口是计算机自动分配的,连接到E的端口为789,连接到D的为790。
了解了TCPIP通讯的基本结构后,接下来讲解建立的流程,首先声明一下我用的开发环境是VisualStudio2008版的,语言C#,组件System.Net.Sockets,流程的建立包括服务器端的建立和客户端的建立,如图所示:二、实现:1.客户端:第一步,要创建一个客户端对象TcpClient(命名空间在System.Net.Sockets),接着,调用对象下的方法BeginConnect进行尝试连接,入口参数有4个,address(目标IP地址),port(目标端口号),requestCallback(连接成功后的返调函数),state(传递参数,是一个对象,随便什么都行,我建议是将TcpClient自己传递过去),调用完毕这个函数,系统将进行尝试连接服务器。
第二步,在第一步讲过一个入口参数requestCallback(连接成功后的返调函数),比如我们定义一个函数voidConnected(IAsyncResultresult),在连接服务器成功后,系统会调用此函数,在函数里,我们要获取到系统分配的数据流传输对象(NetworkStream),这个对象是用来处理客户端与服务器端数据传输的,此对象由TcpClient获得,在第一步讲过入口参数state,如果我们传递了TcpClient进去,那么,在函数里我们可以根据入口参数state获得,将其进行强制转换TcpClienttcpclt=(TcpClient)result.AsyncState,接着获取数据流传输对象NetworkStreamns=tcpclt.GetStream(),此对象我建议弄成全局变量,以便于其他函数调用,接着我们将挂起数据接收等待,调用ns下的方法BeginRead,入口参数有5个,buff(数据缓冲),offset(缓冲起始序号),size(缓冲长度),callback(接收到数据后的返调函数),state(传递参数,一样,随便什么都可以,建议将buff传递过去),调用完毕函数后,就可以进行数据接收等待了,在这里因为已经创建了NetworkStream对象,所以也可以进行向服务器发送数据的操作了,调用ns下的方法Write就可以向服务器发送数据了,入口参数3个,buff(数据缓冲),offset(缓冲起始序号),size(缓冲长度)。
第三步,在第二步讲过调用了BeginRead函数时的一个入口参数callback(接收到数据后的返调函数),比如我们定义了一个函数voidDataRec(IAsyncResultresult),在服务器向客户端发送数据后,系统会调用此函数,在函数里我们要获得数据流(byte数组),在上一步讲解BeginRead函数的时候还有一个入口参数state,如果我们传递了buff进去,那么,在这里我们要强制转换成byte[]类型byte[]data=(byte[])result.AsyncState,转换完毕后,我们还要获取缓冲区的大小intlength=ns.EndRead(result),ns为上一步创建的NetworkStream全局对象,接着我们就可以对数据进行处理了,如果获取的length为0表示客户端已经断开连接。
具体实现代码,在这里我建立了一个名称为Test的类:2.服务
2023/2/17 5:19:13
297KB
TCP/IP
C++
协议
1
基于STM32的FreeRTOS串口队列通信
最简单的任务和中缀之间的数据传输:队列将程序修改为通过队列传送数据串口中缀服务程序中,将读取到的数据发送到队列中在OnCommunicationTask()中,将接收到的数据通过串口发送出来
2023/2/17 1:48:26
2.07MB
STM32
freeRTOS
串口
中断
1
基于两块430单片机及nrf24l01无线数据传输超声波测距数据
单片机间的数据分享,利用nrf24l01将第一块430单片机用HY-SRF05检测的超声波测距数据分享给第二块430单片机,并用1602显示出来。
经过测试,传输数据很波动,且传输距离较远,至于具体传输多远,决定nrf24l01的能力以及周边的环境。
2023/2/16 12:18:17
96KB
430无线传输
1
Cy7c68013a-USB测试工具v1.5
USB上位机项目开发环境:(1)开发软件:VisualStudio2008(2)电脑零碎:Win764位旗舰版(3)配套开发板:易津USB开发板(4)USB芯片型号:Cy7c68013a包含模块:速度测试模块、数据传输模块、环路模块、下环路模块
2023/2/14 11:04:05
28.53MB
Cy7c68
MFC
1
剖析Rails3MVC中的数据传递
简介:本文分析了Rails3的MVC架构,探讨总结了Rails3的控制器与视图、控制器与模型、视图与规划以及多个视图之间的数据传输方法和技巧。
假设您对RubyonRails有基本的了解,至少能够配置RubyonRails并运行类似HelloWorld的入门应用程序。
如果读者已经开发过基于Rails的应用,但对其MVC间的数据传递还有诸多困惑,那么恭喜您,本文正是要总结梳理Rails数据传递的方法和技巧。
RubyonRails3(以下统称为Rails3)是当前的主要发布版本,本文所述及的内容和代码都基于此版本。
RubyonRails是一个Ruby实现、采用MVC模式的开源Web应用开发框架,能够
2023/2/11 11:09:49
306KB
剖析Rails3MVC中的数据传递
1
基于stm32的无线数据传输
选择正点原子STM32单片机,利用NRF24L01模块进行无线传输,在单片机中进行ADC转换,以及比较最大最小值并显示出来,最初在LCD显示屏上显示探测出的温度示数并显示图像。
2023/2/9 13:20:37
3.85MB
stm32
无线数据传输
ADC
1
C++实现简单Socket编程,多客户端登陆以及检测客户端形态
使用C语言Socket实现多线程服务器,TCP与UDP数据传输,可以进行多客户端登陆以及多客户端同时发送消息,适合刚开始进行网络技术基础编程的人士使用。
2023/2/8 17:24:41
13.12MB
Socket
多线程
多客户端
1
3GPP中文协议全
cwts-specs-001IMT-DSFDD(WCDMA)系统无线接口物理层技术规范:名语术语cwts-specs-002IMT-DSFDD(WCDMA)系统无线接口物理层技术规范:概述cwts-specs-003IMT-DSFDD(WCDMA)系统无线接口物理层技术规范:物理信道和传输信道到物理信道的映射cwts-specs-004IMT-DSFDD(WCDMA)系统无线接口物理层技术规范:信道编码与复用cwts-specs-005IMT-DSFDD(WCDMA)系统无线接口物理层技术规范:扩频与调制cwts-specs-006IMT-DSFDD(WCDMA)系统无线接口物理层技术规范:物理层过程cwts-specs-007IMT-DSFDD(WCDMA)系统无线接口物理层技术规范:物理层测量cwts-specs-008IMT-DSFDD(WCDMA)系统无线接口层2技术规范:物理层向上层提供的服务cwts-specs-009IMT-DSFDD(WCDMA)系统无线接口层2技术规范:MAC协议cwts-specs-010IMT-DSFDD(WCDMA)系统无线接口层2技术规范:RLC协议cwts-specs-011IMT-DSFDD(WCDMA)系统无线接口层2技术规范:PDCP协议cwts-specs-012IMT-DSFDD(WCDMA)系统无线接口层2技术规范:BMC协议cwts-specs-013IMT-DSFDD(WCDMA)系统无线接口层3技术规范:RRC协议cwts-specs-014IMT-DSFDD(WCDMA)系统Iu接口技术规范:概述cwts-specs-015IMT-DSFDD(WCDMA)系统Iu接口技术规范:层1技术要求cwts-specs-016IMT-DSFDD(WCDMA)系统Iu接口技术规范:信令传输cwts-specs-017IMT-DSFDD(WCDMA)系统Iu接口技术规范:RANAP信令cwts-specs-018IMT-DSFDD(WCDMA)系统Iu接口技术规范:数据传输和传输信令cwts-specs-019IMT-DSFDD(WCDMA)系统Iu接口技术规范:用户平面协议cwts-specs-020IMT-DSFDD(WCDMA)系统Iub接口技术规范:概述cwts-specs-021IMT-DSFDD(WCDMA)系统Iub接口技术规范:层1技术要求cwts-specs-022IMT-DSFDD(WCDMA)系统Iub接口技术规范:信令传输cwts-specs-023IMT-DSFDD(WCDMA)系统Iub接口技术规范:NBAP信令cwts-specs-024IMT-DSFDD(WCDMA)系统Iub接口技术规范:用于CCH数据流的数据传输和传输信令cwts-specs-025IMT-DSFDD(WCDMA)系统Iub接口技术规范:用于CCH数据流的用户平面协议cwts-specs-026IMT-DSFDD(WCDMA)系统Iur接口技术规范:概述cwts-specs-027IMT-DSFDD(WCDMA)系统Iur接口技术规范:层1技术要求cwts-specs-028IMT-DSFDD(WCDMA)系统Iur接口技术规范:信令传输cwts-specs-029IMT-DSFDD(WCDMA)系统Iur接口技术规范:RNSAP信令cwts-specs-030IMT-DSFDD(WCDMA)系统Iur接口技术规范:用于CCH数据流的数据传输和传输信令cwts-specs-031IMT-DSFDD(WCDMA)系统Iur接口技术规范:用于CCH数据流的用户平面协议cwts-specs-032IMT-DSFDD(WCDMA)系统Iub/Iur接口技术规范:用于DCH数据流的数据传输和传输信令cwts-specs-033IMT-DSFDD(WCDMA)系统Iub/Iur接口技术规范:用于DCH数据流的用户平面协议CWTS发布的研讨
2023/2/4 2:48:41
7.39MB
3GPP
中文协议
WCDMA
1
ISO15764-2004_Roadvehicles-Extendeddatalinksecurity.pdf
《ISO15764-2004_Roadvehicles-Extendeddatalinksecurity》道路车辆—扩展数据链路安全性,摘要:ISO15764:2004描述了数据链接协议的扩展,用于增强通过公路车辆中使用的通信网络连接的电子控制单元(ECU)之间数据传输的安全性。
它基于包括加密,数字签名和消息认证代码(MAC)在内的加密方法。
它提供了一种服务,以将ECU建立为彼此之间的受信方,并防御特定要挟。
它适用于能够存储和处理机密数据的ECUs对之间的所有数据链接,从而使未经授权的第三方无法访问它。
提供参数以使能够选择数据链路中的安全级别。
2023/1/25 0:44:55
1.9MB
ISO15764
扩展数据链路安全
1
8B10B详解&综述_p.pdf
在高速的串行数据传输中,传送的数据被编码成自同步的数据流,就是将数据和时钟组合成单一的信号进行传送,使得接收方能容易准确地将数据和时钟分离,而且要达到令人满意的误码率,其关键技术在于串行传输中数据的编码方法。
8B10B作为互连接口的一种编码技术,设计简单、功能出众,因此成为应用最广泛的技术。
然而,它的系统开销高达25%,问题突出。
为了解决这个问题,设计者们一直在探寻改进的方法。
本文就将介绍8B10B码的编码原理及实现方法,并介绍了一些低开销的编码技术,讨论它们的优势与存在的问题。
2023/1/15 23:14:25
1.83MB
8B10B编码
1
共 289 条记录
首页
上一页
下一页
尾页
钉钉无人值守自动打卡脚本 永不迟到的神器 安卓和苹果教程
New!
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03
15KB
钉钉
钉钉打卡
个人信息
点我去登录or注册
|
微信登录
一言
热门下载
双系统双频伪距单点定位程序
Docker构建tomcat镜像jdk1.8+tomcat9.zip
飘逸传世引擎源代码
中科院考博英语2009-2018年试题及答案解析(十五套436面).pdf
数据库系统概论第五版
HTML5+CSS3中文参考手册(3手册)chm版中文参考手册打包
StimulsoftReports2020.1.1License.rar
高光谱和LiDAR多模态遥感图像分类数据集
几何画板课件350套.zip
vue项目demo(asp.netmvc5+vue2.5)
新升级版TP5商城小程序源码+公众号版+h5一整套源码V3.zip
CNS2_CN_VW_P0095D_0332.7z
ABAQUS金属非稳态和稳态切削过程的模拟分析_张东进.pdf
R9390系列BIOS修改和风扇调速工具
ENVI去云补丁Haze_tool文件及其使用说明和安装方法
最新下载
数字图像处理编程入门(吕凤军)
DELPHI抓取PDF内容
液压设计手册软件版1.0破解补丁
美颜插件beautyboxAEMAC
MFC谷歌离线地图
运动人体的摔倒检测
HCNP路由交换实验指南.rar
中国能源数据库-年度数据(2006-2016).xls
2021Java大厂面试题——大厂真题之蚂蚁金服-资深工程师.pdf
.net后台Post,get方式调用webapi
简单的数字签名系统
含风电电力系统的多时间尺度模糊机会约束动态经济调度模型(文献)
工程案例IBM高标准网络弱电工程综合布线方案模板
GPS在stm32单片机例程
DemoButton
其他资源
用卷积神经网络实现彩色图像的超分辨率matlab.zip
VTDROD软件介绍
华为SSH快捷配置.exe
计算机图形学直线裁剪算法
ISO27001-27002:2013
新浪微博用户数据信息--性别,地理位置,粉丝,微博创建时间,微博数,等等
李飞飞深度学习中文笔记完整版
FPGA实现dds(ISE实现)
VC++指纹识别算法源代码+阐发文档
无线通信MIMO中STBC的matlab仿真
2019年度中职组“网络空间安全赛项”海南省-B.pdf
QPSK调制方式频带分析
nao机械人抓取程序
Linux下使用UDP协议的点对点聊天程序(含源代码)
C++GDAL读取高分1号影像实现LBP算法(源代码)VS2013
jsp课程设计学生信息管理系统
金蝶云星空V7.5.1产品培训_财务_智能会计平台.pptx
增强用户体验让网站和APP更具动感的几点建议
xf-adsk2018_x64
Xshell.5.0.1326中文破解版