ImageVerifierCode 换一换
格式:PPTX , 页数:15 ,大小:123.95KB ,
资源ID:4823456      下载积分:7 金币
验证码下载
登录下载
邮箱/手机:
验证码: 获取验证码
温馨提示:
支付成功后,系统会自动生成账号(用户名为邮箱或者手机号,密码是验证码),方便下次登录下载和查询订单;
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/4823456.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  
声明  |  会员权益     获赠5币     写作写作

1、填表:    下载求助     索取发票    退款申请
2、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
3、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
4、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
5、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【精***】。
6、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
7、本文档遇到问题,请及时私信或留言给本站上传会员【精***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。

注意事项

本文(DelphiSocket编程的基本概念.pptx)为本站上传会员【精***】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4008-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

DelphiSocket编程的基本概念.pptx

1、TCP/IP传输控制协议和互联网协议,Transmission Control Protocol and Internet Protocol.通常所说的TCP/IP表示传输承载TCP/IP会控制传输质量,这是最大的优势:保证数据包到达的顺序保证数据包不丢包,可靠到达对方自动重传机制MTU概念:以太网默认1500Byte端口(PORT)概念Client/ServerC/S概念,客户端/服务器请求应答模式,Request/ResponseClient=主叫,Server=被叫,Server更像一个语音呼叫中心,可以接受很多呼叫IP address:32bit的整数,但一般表示成可阅读的格式,如19

2、2.168.1.1,即四个Byte分别隔开,每个Byte范围是0255,IP地址就像电话号码一个服务器可以有多个IP地址,称之为Multi-Homed端口Port是个整数,范围是165535端口就像分机号1024以下端口号是保留的,用作已知的公用协议,如HTTP=80,FTP=21,POP3=110,SMTP=25等等服务器要接受入站的请求,就必须监听一个端口,客户端要和服务器通信,就要提供IP地址和端口协议协议包含两个事情端口号,端口类型(TCP,UDP,ICMP)高级命令格式(例如HTTP,FTP,)协议可以自定义,一般公用协议是作为RFC给出的,如HTTP就是RFC 2616.公用协议一

3、般用文本方式域名和DNS域名是人类可阅读格式的“IP”地址对人而言,容易阅读和记忆对机器而言,可以随时更换IP而不用更改配置域名和IP没有一一对应的关系,但一个域名在某一地点的某一时刻一定只能解释为一个IPDNS为域名解释,翻译域名为IP地址,DNS服务器相当于一个地址本socketSocket是组合了IP,端口和协议,Socket也是一个连接两个处理进程的管道,可以是本地的,也可以是远程的。Socket就像电路交换连接的会话本地环回字节序主机序:不同的CPU、操作系统有不同的字节序类型,字节序是指整数在内存中保存的顺序网络序:网络字节顺序是TCP/IP中规定好的一种数据表示格式,它与具体的C

4、PU类型、操作系统等无关,从而可以保证数据在不同主机之间传输时能够被正确解释。网络字节顺序采用大头 大头小头地址(大头)0001000200030004数据(0 x1234)1234Big-endian,大头Unix,Motorola最直观:不考虑对应关系,只要把内存地址从左到右按照由低到高的顺序写出,把值按照通常的高位到低位的顺序写出,两者对照,一个字节一个字节的填充地址低位存储值的高位,地址高位存储值的低位Little-endian,小头Windows,Intel架构最符合人的思维:低位值小就应放在地址小的地方地址低位存储值的低位,地址高位存储值的高位地址(小头)0001000200030

5、004数据(0 x1234)4321大小头转换转换函数:htons 把unsigned short类型从主机序转换到网络序htonl 把unsigned long类型从主机序转换到网络序ntohs 把unsigned short类型从网络序转换到主机序ntohl 把unsigned long类型从网络序转换到主机序请问:字符串,数组等需要转换吗?Indy特点阻塞模式线程模式序列化串行类似操作文件方式阻塞和假死?阻塞:如果没有用重叠I/O或者用线程来运行,直接调用Socket的相关API,会一直等待对方的操作完成才能继续做其他的事情非阻塞模式重叠I/O:调用的时候一样调用Socket API,但

6、是给定重叠I/O标记,调用后可以继续运行,但是后续代码不能认为数据是完整可用的,重叠I/O需要对I/O操作的结果做检测线程:用独立线程去掉用Socket API阻塞可能导致程序假死阻塞模式优点:代码结构简单,适合简单的数据交互和后台服务,缺点:UI交互困难,有假死现象非阻塞模式优点:适合各种网络情况,用户体验较好,缺点:代码结构复杂,编程要求高,逻辑复杂死连接检测心跳(推荐)流量检测:从最后一次收到数据开始计时若干秒,没有收到任何数据就算失败TCP Keep Alive需要TCP/IP驱动和协议栈支持本质是底层的心跳包procedure TdmProvider.IdServerConnect(

7、AThread:TIdPeerThread);type TCP_KeepAlive=record OnOff:Cardinal;KeepAliveTime:Cardinal;KeepAliveInterval:Cardinal end;var Val:TCP_KeepAlive;Ret:Cardinal;begin /TCP/IP 连接的自动超时检测心跳设置 Val.OnOff:=1;Val.KeepAliveTime:=60000;/60 秒钟如果还没有任何流量就断开 Val.KeepAliveInterval:=10000;/每隔多久发送心跳包 WSAIoctl(AThread.Conne

8、ction.Socket.Binding.Handle,IOC_IN or IOC_VENDOR or 4,Val,SizeOf(Val),nil,0,Ret,nil,nil);with AThread.Connection.Socket.Binding do WriteLog(mtInfo,客户端连接:+PeerIP+:+IntToStr(PeerPort);end;线程非阻塞设计利用线程,该线程可以接受Socket数据,对Socket数据进行分析线程关联一个窗口句柄,该窗口句柄可以使主程序窗口,也可以是特定的窗口在线程Execute中,可以SendMessage消息给主程序,主程序对消息处

9、理之后返回,也可以利用PostMessage。消息和线程实现的主框架Const CM_A=WM_USER+1;CM_B=WM_USER+2;WndProc(msg:DWORD,wParam,lParam:DWORD);Begin case Msg of CM_A:;/数据包a处理UI更新CM_B:;/数据包b处理UI更新 end;End;Thread ExecuteBegin while 程序未终止 or Socket 未断开 do begin 从Socket接收数据;case 数据 of a:SendMessage(CM_A,Integer(数据),0);b:SendMssage(CM_B,Integer(数据),0);end;End;网络编程注意事项一定要检测连接状态,或者在协议上增加心跳超时检测应该是按照最后接收的时间开始计时,多久没有收到数据包才超时,而不是从开始发送数据包就进行计时服务器端需要做Idle检测,防止空连接占用资源或者被人恶意攻击网络断开之后的重连机制一定要缓冲:即如果断开后无法正常重连,那么下一次重连的时间应该成倍延长:典型案例为暴风影音,例如如果连接服务器不成功,则不能立即重连服务器,需要等待10s再重连,如果10s后还是失败,则需要等待30s后重连,如果30s还失败,则需要等待3分钟后重连,以此类推

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服