假定你想尽快的处理从远程客户到服务器的事物,你将使用UDP还是TCP?为什么?

假定你想尽快的处理从远程客户到服务器的事物,你将使用UDP还是TCP?为什么?,第1张

使用UDP,因为TCP是面向连接的可靠数据传输服务,使用TCP协议时,在应用层数据报文开始流动之前,其客户机程序和服务器程序之间互相交换运输层控制信息,完成握手阶段。

TCP 的三次握手,以及拥塞控制机制和分组都有开销。UDP没有拥塞控制机制,所以发送端可以以任何速率向其下面的层(网络层)注入数据。

扩展资料:


TCP应用层包括:

1、超文本传输协议(>

2、文件传输(TFTP简单文件传输协议);

3、远程登录(Telnet),提供远程访问其它主机功能, 它允许用户登录internet主机,并在这台主机上执行命令;

4、网络管理(SNMP简单网络管理协议),该协议提供了监控网络设备的方法, 以及配置管理,统计信息收集,性能管理及安全管理等;

5、域名系统(DNS),该系统用于在internet中将域名及其公共广播的网络节点转换成IP地址。

UDP则不为IP提供可靠性、流控或差错恢复功能。一般来说,TCP对应的是可靠性要求高的应用,而UDP对应的则是可靠性要求低、传输经济的应用。

使用socket进行网络编程的最简单方式是使用NSStream。NSStream类对流 *** 作进行了抽象,包括对各种流数据的读和写:内存流、网络流或文件流。当然,通过NSStream也可以与服务器进行通信。 无论是通过NSStream向服务器写数据,还是从NStream对象中读取服务器数据,都是一件简单的事情。
在Mac OS X中,使用NSHost和NSStream与服务器进行连接的代码如下:

NSInputStream iStream;
NSOutputStream oStream;
uint portNo = 500;
NSURL website = [NSURLURLWithString:urlStr];
NSHost host = [NSHost hostWithName:[websitehost]]; [NSStream getStreamsToHost:host
port:portNo
inputStream:&iStream
outputStream:&oStream];
NSStream的getStreamsToHost:port:inputStream:outputStream:方法用于连接服务器并创建一对输入输出流用于向服务器读写数据。问题是iOS中并没有这个方法。因此上述代码无法用于iPhoneapp中。
要解决这个问题,需要为NSStream增加新的类别以增加getStreamToHost:Port:inputstream:outputStream:方法。在Xcode中新建文件NSStreamAdditionsm。然后在NSStreamAdditionsh中编写代码如下:

@interface NSStream (MyAdditions)
+ (void)getStreamsToHostNamed:(NSString)hostName
port:(NSInteger)port
inputStream:(NSInputStream )inputStreamPtr
outputStream:(NSOutputStream )outputStreamPtr;
@end

在NSStreamAdditionsm文件中加入下列代码。
#import "NSStreamAdditionsh"

@implementation NSStream (MyAdditions)

+ (void)getStreamsToHostNamed:(NSString)hostName
port:(NSInteger)port
inputStream:(NSInputStream )inputStreamPtr
outputStream:(NSOutputStream )outputStreamPtr
{
CFReadStreamRef readStream;
CFWriteStreamRef writeStream;


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10642645.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-10
下一篇 2023-05-10

发表评论

登录后才能评论

评论列表(0条)

保存