欢迎来到淘文阁 - 分享文档赚钱的网站! | 帮助中心 好文档才是您的得力助手!
淘文阁 - 分享文档赚钱的网站
全部分类
  • 研究报告>
  • 管理文献>
  • 标准材料>
  • 技术资料>
  • 教育专区>
  • 应用文书>
  • 生活休闲>
  • 考试试题>
  • pptx模板>
  • 工商注册>
  • 期刊短文>
  • 图片设计>
  • ImageVerifierCode 换一换

    c_网络编程_c_套接字编程.pdf

    • 资源ID:88946599       资源大小:3.73MB        全文页数:79页
    • 资源格式: PDF        下载积分:12金币
    快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录   QQ登录  
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    c_网络编程_c_套接字编程.pdf

    c_网络编程_c_套接字编程C#套接字编程主要内容.N E T 网络编程基本操作.同步通信开发-同步服务器开发-同步客户机开发.异步通信开发-异步服务器开发-异步客户机开发.TcpListener/TcpClient 通信开发.UDP通信1.概述.N E T 环境下的网络编程仍然是基于套接字的乡编白才壬 口王。.套接字编程接口使用了 S y s t em.N et.S ock et s名字空间。其提供的S ock et 类为Wi n3 2 下的套接字的托管版本。.N E T 网络编程提供了很多支持:-S ock et;-T cp C l i ent/U dp C l i ent/T cp Li s t ener;-WebR eq u es t/WebR es p ons e;-HT T P/F T P/F i l e+WebR eq u es t/WebR es p ons e 等。.NET与 Win32套接字对比.NetWin32Accept/BeginAccept/EndAcceptacceptBindbindCloseclosesockListenlistenSelectselectConnect/BeginConnect/EndConnectconnectGetSocketOption/SetSocketOptiongetsockopt/setsockoptReceive/BeginReceive/EndReceiverecvSend/BeginSend/EndSendsendReceiveFrom/BeginReceiveFrom/EndReceiveFromrecvfromSendTo/BeginSendTo/EndSendTosendtoShutdownshutdown.N E T 网络中常用的类.S ock et:实现 B er k el ey 套接字接口;.D ns:提供简单的域名解析功能;.IP A ddr es s:提供网际协议(IP)地址;.IP E ndP oi nt:将网络端点表示为I P 地址和端口号;.IP Hos t E nt r y:为 Int er net 主机地址信息提供容器类;.N et wor k s t r eam:提供用于网络访问的基础数据流。.T cp Li ns t er:从 T C P 网络客户端侦听连接。.T cp C l i ent:为T C P 网络服务提供客户端连接.U dp C l i ent:提供用户数据报(U D P)网络服务1.1.N E T 套接字概述.名字空间:S y s t em.N et.S ock et s.S ock et,S y s t em.N et 命名空间中的所有其他网络访问类都建立在该套接字实现的基础之0.S ock et 类支持两种基本模式:-同步:对执行网络操作的函数(如 S end和R ecei v e)的调用一直等到操作完成后才将控制返回给调用程序。-异步:网络操作的函数调用立即返回。1.2.N E T 套接字构造.S ock et 的构造函数原型:-参 数 L指定S ock et 类用来解析网络地址的标准址 族(如:A ddr es s F am i l y.Int er N et wor k 成员指定I P 版本4地址族)。-参数2:指定套接字的类型(如:S ock et T y p e.S t r eam 成员表示一个用于发送和接收数据并且支持流控制的标准套接字)。-参数3:指定在S ock et 上通信时使用的网络协议(如:P r ot ocol T y p e.T cp 指示套接字使用T C P)。1.2.1 T C P/U D P 套接字构造.构造T C P 套接字.构造U D P 套接字套接字的常用属性.S ock et 常用属性:-B l ock i ng:设置或者获取套接字阻塞模式;-C onnect ed:获取当前套接字是否与远程主机相连;-Local E ndP oi nt:得到套接字的本地E ndP oi nt 对象;-R em ot eE ndP oi nt:得到套接字的远程E ndP oi nt 对象;-S ock et T y p e:套接字类型。套接字的常用方法.S ock et 常用同步的方法:-A ccep t;-B i nd;-C l os e;-C onnect;-D i s connect;-Li s t en;-R ecei v e/R eci v eF r om;-S el ect;-S end/S endT o/S endF i l e;-S et S ock et O p t i on/G et S ock et O p t i on;-S h u t down;说明:红色的方法有对应的异步方法。1.2.2 使用套接字.创建套接字后:-在客户端,通过C onnect 方法连接到指定的服务器,并通过 S end/S endT o 或者 R ecei v e/R ecei v eF r om 从服务端接收数据;-在服务器端,使用B i nd方法绑定所指定的接口使S ock et 与一个本地终结点相联,并通过Li s t en方法侦听该接口上的请求,当侦听到用户端的连接时,调用A ccep t 完成连接的操作,创建新的S ock et 以处理传入的连接请求。-使用完S ock et 后,使用S h u t down方法结束通信,并使用C l os e方法关闭S ock et o.上面的是同步方式的通信,还有相对应的异步的Beg i n/En d连接与通信方式。1.2.3Bi n d 方法.套接字服务器的绑定端点需要使用到S o c k et.Bi n d()方法。.在调用Bi n d之前,必先创建本地I PEn dPo i n t。可以用 I PAddr es s.An y 作为地址参数创建一个I PEn dPo i n t,这样,将会使用所有可能的网络地址。.通过调用L o c a lEn dPo i n t 获知所分配的本地网络地址和端口号。1.2.4L i s t en 方法.S o c k et.L i s t en O 将套接字置于监听状态。-b a c k lo g 挂起连接队列的最大长度。1.2.5S et S o c k et O p t i o n 设置或者取消套接字的对应的属性。-参数 1:可以是 S o c k et,I P,T C P,U D P;-参数2:各种与参数1对应的属性,如:Br o a dc a s t,R ec evi eBu f f er,R ec ei veT i meo u t 等待。-参数 3:t r u e/f a ls e0 t r u e一使 能;f a ls e一取消。1.3地址/端口信息.T C P/I P使用一个网络地址和一个服务端口号来唯一标识设备。-网络地址标识网络上的特定设备;-端口号标识要连接到的该设备上的特定服务。.网络地址和服务端口的组合称为网络端点,它在.N ET中由En dPo i n t类表示。对 于I P地址族,该类为I PEn dPo i n t。1.3.UPEndPoint 使用.构造函数两种:.其IPEndPoint的使用.问题:在W in32中记录IP地址和端口信息是使用的什么?1.3.2 地址处理.I PAddr es s 在 S y s t em.N et 名字空间中。.它包含计算机在I P 网络上的地址相关操作和属性。.根据字符串获取I PAddr es s 信息:-Pa r s e();.提供的常用地址:-An y;-Br o a dc a s t;-L o o p b a c k;-N o n e;1.3.3 主机解析.D n s 类是一个静态类,它从域名系统中检索关于特定主机的信息。.I PHo s t En t r y 类将主机名、别名和一组匹配的I P 地址关联。常和D n s 类一起使用。.在 I PHo s t En t r y 类的实例中返回来自D N S 查询的主机信息。如果指定的主机在数据库中有多个入口,W O I PHo s t En t r y 包含多个I P地址和别名。.问题:在 W i n 32中记录地址和机器名信息是使用的什么?1.3.4主机解析用法.D n s.R es o ve用于解析主机名到I PHo s t En t r y。.使用:1.3.5D n s 类常用方法.Get Ho s t N a me()可以获得主机名。.Get Ho s t By N a me()方法根据主机名向D N S 服务器查询主机信息。.Get Ho s t By Addr es s ()方法根据地址信息查询主机信息。1.3.6示例1-地址信息.+.d:1.3.7 e.a y 2.a.a ll.i ,t.4-1.3.7 示例2构造服务器.d:W i n 32e.o.2C d.b.,t.4-1 X.d X.u .W i n 32如何创建并绑定一个服务器套接字的?1.4出错/异常信息.S o c k et Ex c ep t i o n 用来抛出S o c k et 相关异常信息。.当网络发生错误时,S o c k et 和 D n s 引发S o c k et Ex c ep t i o n。.使用 S o c k et Ex c ep t i o n.Er r o r C o de 可以获取特定的错误代码,M es s a g e可以获得错误消息。2.同步服务器/客户机.讨论一种常见网络服务器模式:-同步阻塞服务器;-同步阻塞客户机;.和Win32下的阻塞模型类似,对每一个接受的请求产生新的线程,并在此线程中完成所有的与客户机的数据交互。2.1 同步阻塞服务器开发.这是使用起来最简单的一种模型。.任何时候调用一个绑定I/O的.NE T 套接字方法,如果套接字上没有等候处理的数据,该调用就会阻塞。.如果需要做其他的事情,或者为其它的连接请求提供服务,就需要在应用程序中创建额外的线程。.和 W i n 3 2 下的阻塞模型类似。同步阻塞模型2.1.1 同步 A c c e p t.其函数定义:.A c c e p t以同步方式从侦听套接字的连接请求队列中提取第一个挂起的连接请求,然后创建并返回新的S o c k e t o.此处使用 S o c k e t.R e m o t e E n d Po i n t 来获取连接机器的I P和端口信息。.问题:W i n 3 2中何处获取请求连接机器的地址和端口信息?同步A c c e p t接受连接.在阻止模式中,A c c e p t将一直处于阻止状态,直到传入的连接尝试排入队列。连接被接受后,原来的S o c k e t继续将传入的连接请求排入队列,直到您关闭它。2.1.2同步S e n d 发送数据 将数据发送到连接的S o c k e t:.S o c k e t F l a g s 通常使用 S o c k e t F l a g s.No n e,发送字节数的默认值为缓冲区的大小。.S e n d 对面向连接的协议和无连接协议均适用。同步S e n d注意事项.如果您使用的是面向连接的协议,则除非使用S o c k e t.S e n d T i m e o ut设置了超时值,否则,S e n d将一直处于阻止状态,直到发送完缓冲区中的所有字节。.应由应用程序负责跟踪已发送的字节数并重试操作,直到应用程序发送完想要发送的缓冲区中的字节数为止。.不能保证发送的数据会立即出现在网络上。为提高网络效率,基础系统可能会延迟传输,直到收集了足够多的传出数据后才开始发送。2.1.3同步R e c e i ve 发送数据.从 S o c k e t 中接收数据(常用第3 个):.R e c e i ve 方法将数据读入第一个参数中,并返回成功读取的字节数。第一个i n t 是接收多少数据到缓冲区,第二个in t 是指明缓冲区的偏移量。.如果没有可读取的数据,则R e c e iv e 方法将一直处于阻止状态,直到数据可用,除非使用R e c e iv e Tim e o u t 设置了超时值。如果超过超时值,R e c e iv e 调用将引发 So c k e t Ex c e pt io n。同步Se n d/R e c e iv e 示例2.1.4另一种方式收发数据.Sy s t e m.Ne t.So c k e t s.Ne t wo rk s t re a m 提供了用于网络访问的基础数据流。.Ne t wo rk s t re a m 提供的 Writ e 和 R e a d方法用于简单的单线程同步阻止I/0o.另外Ne t wo rk s t re a m 还提供异步的发送和接收数据的方法:-Be g in Writ e/En d Writ e-Be g in R e a d/En d R e a dWrit e 发送数据.Writ e 函数定义:-参数1:by t e 数组,包含即将写入到Ne t wo rk s t re a m 的数据。-参数2:bu f f e r中开始写入数据的位置。-参数3:准备写入Ne t wo rk St re a m 的字节数。R e a d接收数据.函数定义:12O参据参-数-用于存储从Ne t wo rk s t re a m读取的bu f f e r中的开始存放数据的偏移量。-参数3:bu f f e r长度。-返回值:成功读取的字节数。Write/Read-示例2.2 同步客户机.客户机需要通过三次握手完成到服务器的连接。.NET环境提供了同步Co n n e c t 函数完成到服务器的连接。.TCP 连接中Co n n e c t 方法会同步建立Lo c a l En d P o in t 与指定远程终结点之间的网络连接,同时保存本地地址和端口信息。.远程结点的信息存放在So c k e t.R e m o t e En d P o in t 中。.客户机与服务器的通信也是使用Se n d/R e c e iv e或 Ne t wo rk s t re a m 的 R e a d/Writ e 完成。2.2.1 客户机 Co n n e c t.NET环境下常使用的Co n n e c t 原型有:.其中后面两个为.NET 2.0 新增。.使用示例:2.3 服务器/客户机示例.服务器(多线程同步阻塞服务器,为每一个客户新建一个线程来处理):-F irs t Ne t wo rk.c s pro j.客户机:-Cl ie n t Ne t wo rk.c s pro j3.异步服务器/客户机.在.NET套接字中,异步模型是用在一个或者多个套接字上管理I/O 的最佳途径。.因为异步模型采用的和Win 32下的完成端口模型类似,而且在N T 系统中,其内部实现上使用了完成端口 I/O 模型,因此是最有效率的一种。.回忆:Win 32下有那些I/O 模型?服务器为P e n t in u m 41.7 G Xe o n,内存7 6 8 M,10 0 M网络,系统Win XP3.1普通程序异步执行 C#有多种常用的异步调用步骤,其中有两种分别是:-进行某些操作,然后调用Endlnvoke 一直阻塞到调用完成。-将用于回调方法的委托传递给Beginlnvokeo该方法在异步调用完成后在ThreadPool线程上执行,它可以调用Endlnvoke。.代码:Asyn-1.cs Asyn-4.cs3.2网络相关异步方法.前面提到几种用来异步处理的I/O方法:-Be g i n Ac c e p t/En d Ac c e p t;-Be g i n Co n n e c t/En d Co n n e c t;-Be g i n R e c e i v e/En d R e c e i v e;-Be g i n S e n d/En d S e n d;-Be g i n R e c i v e Fr o m/En d R e c e i v e Fr o m;-Be g i n S e n d To/En d S e n d To;-都是有 Ac c e p t、Co n n e c t R e c e i v e、S e n d 等都是增加了一对 Be g i n X X X/En d X X X3.3 异步方法的工作机制.异步套接字使用系统线程池中的线程处理传入的连接。.一些线程负责接受连接,另一些线程用于处理每个传入的连接,还有一些线程负责接收连接数据。这些线程可以是同一个线程,具体取决于线程池所分配的线程。.S y s t e m.Th r e a d i n g.Ma n u a l R e s e t Ev e n t 类挂起主线程的执行并在执行可以继续时发出信号。3.4 性能改善 异步调用的执行上下文(安全上下文、模拟用户及调用上下文)会被.NET环境缓存,以用于S o c k e t 异步方法。.在首次使用一个特定上下文(特定S o c k e t 异步方法、特定S o c k e t 实例及特定回调)后,该上下文的后续使用将得到性能改善。3.5 异步方法的使用 要异步调用一个I/O方法,必须调用与同步方法中对应的方法“Be g i n X X X”,并在它的调用中提供一个回调方法。.Be g i n X X X 调用完成后,调用线程可以继续做其它事情,而提供的回I 调方法则会去处理I/O读写。.在回调方法内部,当S o c k e t 完成I/O操作后,可以使用对等的En d X X X 来获取完成的I/O果。3.6 IAs y n c R e s u l t 接口.l As y n c R e s u l t 接口由包含可异步操作的方法的类实现。.它是启动异步操作的方法的返回类型,如Be g i n Ac c e p t,也是结束异步操作的方法的参数的类型,如 En d Ac c e p t o.l As y n c R e s u l t 也将传递给由As y n c Ca l l b a c k 委托调用的方法。它的As y n c S t a t e 属性能够获取用户定义的对象,就是在Be g i n X X X 中传入的Ob j e c t 对象。3.7 常用异步方法-Ac c e p t.Be g i n Ac c e p t/En d Ac c e p t 原型:-As y n Ca l l b a c k:指明回调方法,异步执行体;-Ob j e c t:一个包含此请求的状态信息的对象;-l As y n R e s u l t:存储此异步操作的状态信息以及任何用户定义数据。-En d Ac c e p t:返回连接客户机的套接字。3.7.1 异步 Ac c e p t.为开始接受网络连接请求,其步骤如下:1)初始化S o c k e t,并完成绑定和监听。2)使用Be g i n Ac c e p t 方法开始接受新连接。3)当套接字上接收到新连接请求时,将调用接受回调方法。4)回调方法通过En d Ac c e p t 来获取处理客户机连接请求的S o c k e t 句柄,并将该S o c k e t 提交给将处理请求的线程。回调方法实现As y n c Ca l l b a c k委托;它返回v o i d,并带一个l As yn c R es u l t 类型的参数。3.8常用异步方法Send.将数据异步的发送到连接的Socketo.BeginSend/EndSend 原型:常用异步方法S en d.参数说明:-bu ffer:存放发送数据的缓冲区;-o ffs et:缓冲区中准备发送的数据的开始处;-s i z e:发送数据的长度;-s o c k Fl a gs:S o c k et 相关标识,常用 0;-c a l l ba c k:指明回调方法;-s t a t e:一个包含此请求的状态信息的对象;-l As yn R es u l t:存储此异步操作的状态信息;-En d S en d:返回成功发送的数据长度。Begi n S en d.Begi n S en d 方法可对在 C o n n ec t Begi n C o n n ec t Ac c ep t 或 Begi n Ac c ep t 方法中建立的远程主机启动异步发送操作。.如果没有首先调用Ac c ep t、Begi n Ac c ep t C o n n ec t 或 Begi n C o n n ec t,贝 I Begi n S en d 将会引发异常。.调用Begi n S en d 方法将使您能够在单独的执行线程中发送数据。回调方法-As yn c C a l l ba c k.创建一个实现As yn c C a l l ba c k 委托的回调方法并将它的名称传递给Begi n S en d 方法。.因此,s t a t e参数至少必须包含用于通信的已连接或默认S o c k et。如果回调需要更多信息,则可以创建一个小型类或结构,用于保存S o c k et 和其他所需的信息。通过s t a t e参数将此类的一个实例传递给Begi n S en d 方法。En d S en d.回调方法应调用En d S en d 方法。.当应用程序调用Begi n S en d 时,系统将使用一个单独的线程来执行指定的回调方法,并阻止 En d S en d,直到S o c k et 发送了请求的字节数或引发了异常为止。.如果希望在调用Begi n S en d 方法之后使原始线程阻止,请使用W a i t Ha n d l e.W a i t O n e方法。当需要原始线程继续执行时,请在回调方法中调用 S ys t em.T h r ea d i n g.M a n u a l R es et Ev en t的S et 方法。3.9 常用异步方法一R ec ei v e Begi n R ec ei v e/En d R ec ei v e 原型:常用异步方法一R ec ei v e.参数说明:-bu ffer:存放接收数据的缓冲区;-o ffs et:缓冲区中准备接收的数据的开始处;-s i z e:缓冲区的长度;-s o c k Fl a gs:S o c k et 相关标识,常用 0;-c a l l ba c k:指明回调方法;-s t a t e:一个包含此请求的状态信息的对象;-l As yn R es u l t:它存储此异步操作的状态信息以及所有用户定义数据。-En d R ec ei v e:返R I 成功接收的数据长度。异步接收方法使用.异步Begi n R ec ei v e操作必须通过调用En d R ec ei v e方法来完成。通常,该方法由c a l l ba c k 委托调用。.在En d R ec ei v e调用中会返回接收到的数据长度,接收到的数据填充在由Begi n R ec ei v e中传入的缓冲区中。3.10 常用异步方法一C o n n ec t.Begi n C o n n ec t/En d C o n n ec t 原型:常用异步方法一C o n n ec t.参数说明:-r em o t eEP:目标的地址和I P 信息;-c a l l ba c k:回调方法-s t a t e:一个包含此请求的状态信息的对象;-l As yn R es u l t:它存储此异步操作的状态信息以及所有用户定义数据。3.11完整示例 异步服务器:-S er v er,c s p r o j.异步客户机:-C l i en t.c s p r o j4.TcpListener/TcpClient.应用程序可以通过TCPClient、TCPListener类来使用传输控制协议(TCP)服务。.TcpListener类提供一些简单方法,用于在同步模式下侦听和接受传入连接请求。可使用TcpClient 或 Socket 来连接 TcpListener。.要使用异步Socket方法,可以使用Networkstream类提供的异步方法。Networkstream也支持同步的数据读写。4.I T c p L i s t en er.可使用I P En d P o i n t、本地I P 地址及端口号或者仅使用端口号,来创建T c p L i s t en er。.T c p L i s t er n er.S t a r t 方法用来开始侦听传入的连接请求。S t a r t 将对传入连接进行排队,直至您调用S to p 方法或它已经完成M a xC o n n e c ti o n s 排队为止。.可使用 A c c e p tS o c k e t 或 A c c e p tT c p C l i e n t 从传入连接请求队列提取连接。4.2T c p C l i e n t.T c p C l i e n t类用于在同步阻止模式下通过网络来连接、发送和接收流数据。.为使T c p C l i e n t连接并交换数据,可以使用下面两种方法之一连接到该服务器端:-创建一个T c p C l i e n t,并调用三个可用的C o n n e c t方法之一。-使用远程主机的主机名和端口号创建T c p C l i e n to 此构造函数将自动尝试一个连接。4.3示例.服务器:-T c p L i n s te n e r.c s.客户机:-T c p C l i e n t.c s4.4 T c p L i s te n e r.P e n d i n g.p ub l i c b o o l P e n d i n g ();.用于确定是否有到来的连接请求。-有:返 回tr ue;-没 有:返 回f a l s e;4.5 服务端的线程池.线程池使用系统的T h r e a d P o o l 对象来处理连接请求。.托管线程池中的线程全部为后台线程,即它们的I s B a c k g r o un d 属性为tr ue。.若要请求由线程池中的一个线程来处理工作项,请调用Q ue ue U s e r W o r k l te m方法。服务端的线程池示例.示例源文件:-T h r e a d P o o l S e r v e r.c s5.U D P 通信 .U D P 不能提供确保可靠的数据传输服务,但是它能使用较少的网络和系统资源进行通信,以及具备将数据发送到多个目标的能力。.U D P 的服务器的初始化和套接字创建工作和T C P 的相同,只是具体参数不同。5.1 使用U D P.要使用U D P 完成通信只需要完成下面一些步骤即可:1)创建支持U D P 的套接字;2)将 U D P 套接字绑定到本地的I P E n d P o i n t;3)调用S e n d T o 或者R e c e i v e F r o m 进行通信。5.2 创建并绑定.U D P 创建和绑定如下:.T C P 创建和绑定5.3S e n d T o.常用S e n d T o原型:-参数1:发送缓冲区,存放准备发送的数据;-参数2:发送数据的长度;-参数3:套接字标识,常用S o c k e tF l a g s.N o n e;-参数4:对方端点信息(I P/P o r t);-返回值:成功发送的数据长度。5.4 R e c e i v e F r o m.常用 R e c e i v e F r o m:-参 数 1:接收缓冲区-参数 2:对方端点信息(I P/P o r t);-返回值:接收到的数据长度;5.5U D P服务器示例5.6 U D P 客户机示例5.6一个改进的UDP传送一个改进的U D P 传送.为什么要改进U D P 通信?.改进的U D P 传送所提供的功能:发出一个到远程主机的消息;.它等待一个时间(超时时间)来接收对方的回应(通过设置 S etS o cketO pti o n 中的S o cketO pti o n N am e.R ecei veT i m eo ut);.如果没有消息收到,它再次重发原始消息并等待接收(U D P 可能会丢包);.如果接收的消息太长超过了定义的数据缓冲区,它将增大缓冲区长度并重发原始消息并等待接收。5.U D P 广播.要实现U D P 广播主要有下面儿方面需要设定的:1)创建使用U D P 的套接字;2)调用套接字的S etS o cketO pti o n(),设置S S o cketO pti o n N am e.B ro ad cast 为 true;3)指定IP E n d P o i n t的地址为广播地址:IP A d d ress.B ro ad cast;4)调用S en d T o O 向广播地址上发出广播。.Thank You!

    注意事项

    本文(c_网络编程_c_套接字编程.pdf)为本站会员(文***)主动上传,淘文阁 - 分享文档赚钱的网站仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知淘文阁 - 分享文档赚钱的网站(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于淘文阁 - 版权申诉 - 用户使用规则 - 积分规则 - 联系我们

    本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

    工信部备案号:黑ICP备15003705号 © 2020-2023 www.taowenge.com 淘文阁 

    收起
    展开