cocoa socket client
来源:互联网 发布:天互数据怎么样 编辑:程序博客网 时间:2024/06/18 08:21
加入协议的头文件。创建客户端类
#import <Foundation/Foundation.h>
// do_client.m
#import "do_common.h"
@interface DOClient : NSObject <ServerProtocol>
{
id proxy;
NSNotificationCenter *dnc;
}
- (void)defaultNotificationHandler:(NSNotification *)notification;
- (NSString *)whoAreYou;
- (void)cleanup;
- (void)connect;
- (void)doTest;
@end
// client
@implementation DOClient
-(id)init
{
self = [super init];
return self;
}
- (void)dealloc
{
[self cleanup];
[super dealloc];
}
- (void)cleanup
{
if (proxy) {
NSConnection *connection = [proxy connectionForProxy];
[connection invalidate];
[proxy release];
proxy = nil;
}
}
- (NSString *)whoAreYou
{
return @"I am a DO client.";
}
- (void)connect
{
NSSocketPort *port;
NSConnection *connection;
port = [[NSSocketPort alloc] initRemoteWithTCPPort:DO_DEMO_PORT
host:@DO_DEMO_HOST];
connection = [NSConnection connectionWithReceivePort:nil sendPort:port];
[connection setReplyTimeout:5];
[connection setRequestTimeout:5];
[port release];
NS_DURING
proxy = [[connection rootProxy] retain];
[proxy setProtocolForProxy:@protocol(ClientProtocol)];
[proxy helloFromClient:self];
NS_HANDLER
[self cleanup];
NS_ENDHANDLER
}
- (void)doTest
{
[proxy setA:4.0];
[proxy setB:9.0];
float result = [proxy getSum];
NSLog(@"%f", result);
}
@end
// client main program
int main(int argc, char **argv)
{
NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
NSRunLoop *runloop = [NSRunLoop currentRunLoop];
DOClient *client = [[DOClient alloc] init];
[client connect];
[client doTest];
[runloop run];
[client release];
[pool release];
exit(0);
}
- cocoa socket client
- Socket:client
- Socket Client
- Socket --client
- socket client
- cocoa socket server and protocol
- windows socket 基本知识 client socket
- TCP(socket vc) client
- BIO socket -- Client (BIO_s_connect)
- Socket Server Client Sample
- socket-single client
- socket-multi client
- socket-client share message
- Socket (2) Client
- Socket for client
- socket client 重连
- Java Socket 编程 Client
- 多线程socket通信client
- 合格程序员应该具备的12种能力
- 请问,我要去工商局申请一个工作室,法律上需要那些流程
- 程序学习心得体会一谈
- 职场成功须养成35习惯
- apache 设置目录权限控制
- cocoa socket client
- C# 操作WORD
- C#中利用SMTPClient发送邮件
- 服务器端的page类内幕
- 个体工商户设立登记申请书
- Models模块中的参数说明
- mfc 中控件的注册
- /proc/meminfo详解
- 如何将Oracle10g数据导入到9i