在Mac OS X上,可以使用NSHost和NSStream对象建立到服务器的连接。
NSStream类有一个方法getStreamsToHost:port:inputStream:outputStream:,它创建一个到服务器的输入和输出流,但问题是iPhone OS不支持getStreamsToHost:port:inputStream:outputStream:方法。为了想使用这个方法,你可以增加一个类别到现有的NSStream类上,替换getStreamsToHost:port:inputStream:outputStream:方法提供的功能。
在NSStreamAdditions.h文件中,增加下面的代码:
在NSStreamAdditions文件中加入以下代码:
上面的代码为NSStream类增加了一个getStreamsToHostNamed:port:inputStream:outputStream:方法,现在你可以在你的iPhone应用程序中使用这个方法,使用TCP协议连接到服务器。
NSStream类有一个方法getStreamsToHost:port:inputStream:outputStream:,它创建一个到服务器的输入和输出流,但问题是iPhone OS不支持getStreamsToHost:port:inputStream:outputStream:方法。为了想使用这个方法,你可以增加一个类别到现有的NSStream类上,替换getStreamsToHost:port:inputStream:outputStream:方法提供的功能。
在NSStreamAdditions.h文件中,增加下面的代码:
@interface NSStream (MyAdditions) + (void)getStreamsToHostNamed:(NSString *)hostName port:(NSInteger)port inputStream:(NSInputStream **)inputStreamPtr outputStream:(NSOutputStream **)outputStreamPtr; @end
在NSStreamAdditions文件中加入以下代码:
@implementation NSStream (MyAdditions) + (void)getStreamsToHostNamed:(NSString *)hostName port:(NSInteger)port inputStream:(NSInputStream **)inputStreamPtr outputStream:(NSOutputStream **)outputStreamPtr { CFReadStreamRef readStream; CFWriteStreamRef writeStream; assert(hostName != nil); assert((port > 0) && (port < 65536)); assert((inputStreamPtr != NULL) || (outputStreamPtr != NULL)); readStream = NULL; writeStream = NULL; CFStreamCreatePairWithSocketToHost( NULL, (CFStringRef)hostName, port, ((inputStreamPtr != nil) ? &readStream : NULL), ((outputStreamPtr != nil) ? &writeStream : NULL)); if (inputStreamPtr != NULL) { *inputStreamPtr = [NSMakeCollectable(readStream) autorelease]; } if (outputStreamPtr != NULL) { *outputStreamPtr = [NSMakeCollectable(writeStream) autorelease]; } } @end
上面的代码为NSStream类增加了一个getStreamsToHostNamed:port:inputStream:outputStream:方法,现在你可以在你的iPhone应用程序中使用这个方法,使用TCP协议连接到服务器。
发表评论
-
选取相册视频,并获得路径。
2012-07-18 10:18 1662- (NSString*)videoAssetURLT ... -
ad-hoc及企业版app打包之后在itunes中图标为白色的问题
2012-07-03 16:36 1248准备512*512大小的png(将要显示的图片),在终端执行以 ... -
iOS工具类之16进制颜色转为UIColor
2012-06-27 16:33 6712将16进制颜色如#FF0000,转换为UIColor: ... -
调试内存问题
2012-06-12 10:14 679Project -> Edit Scheme -> ... -
[转]iOS开发之详解剪贴板
2011-12-05 11:43 1469概述: 在iOS中, ... -
过滤html标签(修改版)
2011-12-01 10:44 1265- (NSString *)flattenHTML:(NS ... -
[转] iPhone:UIImage 图像截取,等比例缩放
2011-09-29 10:02 7770@interface UIImage(UIImageSc ... -
[转载]iPhone文件系统NSFileManager
2011-09-09 11:41 1016iPhone文件系统:创建、重命名以及删除文件 NSFile ... -
UIImage用imageNamed的内存问题
2011-09-08 09:33 1228@implementation UIImage(imageNa ... -
截屏存图片到相册或者指定路径
2011-06-13 11:15 2714#import <QuartzCore/Quartz ... -
存图片和视频到iPhone相册
2011-04-19 09:33 7594UIImage *img = [UIImage i ... -
选择相册图片并保存
2011-04-19 08:18 1758.h中: <UINavigationControl ... -
Push一个横屏页面
2011-03-28 16:39 2060[[UIDevice currentDevice] setOr ... -
NSPredicate及正则的一点使用
2011-03-21 14:38 6872记录一点正则表达式的使用。 例如:判断字符串首字母是否为字母 ... -
iPhone中的Sqlite3数据库操作
2010-12-27 09:38 1288可将数据库操作写入一个类,这样用起来也很方便。例如: ... -
Cocos2d游戏场景切换
2010-12-15 09:51 2615在游戏中,我们需要点击菜单选项进入相应的画面,而我们常 ... -
NSNotificationCenter随笔
2010-12-10 13:21 1470可在AppDelegate.h中定义,之后可全局使用。 ... -
Category的使用
2010-12-09 16:17 1011Category的用法有时使得程序很方便,可将已有的类 ... -
iPhone判断是否接入网络
2010-12-06 10:41 2349在这里介绍一种较为简单的判断是否连接网络的方法,首先要引入 ... -
手机问题汇总。
2010-09-16 17:24 0主题:http://bbs.dospy.com/blog.ph ...
相关推荐
建立服务器与客户端连接,可以进行数据传输。建立服务器与客户端连接,可以进行数据传输。 建立服务器与客户端连接,可以进行数据传输。建立服务器与客户端连接,可以进行数据传输。建立服务器与客户端连接,可以...
有详细的Windows Server 2012 R2 服务器建立FTP站点方法教程,小白都能可以学会使用,以及 无法连接服务器 处理问题。
已成功与服务器建立连接,但是在登录过程中发生错误 (provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。) 用户 'sa' 登录失败。该用户与可信 SQL Server 连接无关联。 说明: 执行当前 Web 请求...
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连
错误结束 错误: 2019-02-06 11:06:47.09 代码: 0xC0014009 源: Initialization 连接管理器“xxx” 说明: 试图与数据库服务器建立开放式数据库连接(ODBC)连接时出错。 错误结束 错误: 2019-02-06 11:06:47.09 代码: ...
在建立Oracle数据库的时候,应该会在数据库建立助手向导上面看到这么一个选项,就是数据库的连接模式采用什么方式。在Oracle9i或者10g中,可以看到有2种连接...本文为大家介绍一下建立与Oracle服务器连接的两种模式。
LuaForWindows安装失败(无法与服务器建立连接)解决方案,直接点击文件中Microsoft_Visual_C++_2005_SP1_Redistributable_Package.exe安装插件就行
客户端应用程序,建立到服务器的连接,关闭与服务器的连接,向服务器发送数据,接收数据
本实例演示了在vc中如何建立一个TCP连接服务器,并且接收客户端连接,实现和客户端通信
已成功与服务器建立连接,但是在登录过程中发生错误(provider: 共享内存提供程序, error: 0 - 管道的另一端上无任何进程。)
通过MPI建立SIMATICNETOPC服务器与PLC的S7连接
准确描述了ETHERNET建立OPC服务器与PLC 的S7连接
如何使用vs2005自带的sql2005 已成功与服务器建立连接但是在登录过程中发生错误解决;如何使用vs2005自带的sql2005 已成功与服务器建立连接但是在登录过程中发生错误解决;如何使用vs2005自带的sql2005 已成功与服务器...
这是一个老师上课时写的例子,是客户机和服务器连接,也许对大家非常有用,非常有好处!
西门子工业控制网络SIMATIC NET以及用于PROFIBUS的OPC服务器,通过MPI建立OPC服务器与S7 PLC的S7连接的组态配置方法,实现通过MPI建立OPC服务器以S7连接方式访问S7 PLC并读取PLC数据的方法
描述了domino服务器连接文档的分类和连接文档的建立。
建立Sql Server远程连接
通过CP1613建立SIMATICNETOPC服务器与PLC的S7连接[汇编].pdf
网络五子棋本文主要对五子棋网络游戏技术进行研究,以VB为平台设计并实现了...,通过它建立起服务器与客户端之间的连接,服务器端负责接受客户端的连接和处理客户端的数据,客户端负责连接到服务器并处理游戏时的交互。