如何使用TCPIP与服务器进行通信

如何使用TCPIP与服务器进行通信,第1张

使用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;

 TCP/IP协议(Transmission Control Protocol/Internet Protocol)叫做传输控制/网际协议,又叫网络通讯协议,这个协议是Internet国际互联网络的基础。TCP/IP是网络中使用的基本的通信协议。虽然从名字上看TCP/IP包括两个协议,传输控制协议(TCP)和网际协议(IP),但TCP/IP实际上是一组协议,它包括上百个各种功能的协议,如:远程登录、文件传输和电子邮件等,而TCP协议和IP协议是保证数据完整传输的两个基本的重要协议。通常说TCP/IP是Internet协议族,而不单单是TCP和IP。


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存