小编Sur*_*raj的帖子

如何使用NSOutputStream通过套接字发送NSString

我必须使用套接字编程为iOS创建一个聊天应用程序,我的IP地址是192.168.0.57:9300.我使用Raywenderlich套接字编程示例,接收数据正常工作但发送不工作,没有任何错误或崩溃.我的代码如下.

打开流的代码

- (void) initNetworkCommunication {

    CFReadStreamRef readStream;
    CFWriteStreamRef writeStream;
    CFStreamCreatePairWithSocketToHost(NULL, (CFStringRef)@"192.168.0.57", 9300, &readStream, &writeStream);

    inputStream = (NSInputStream *)readStream;
    outputStream = (NSOutputStream *)writeStream;
    [inputStream setDelegate:self];
    [outputStream setDelegate:self];
    [inputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [outputStream scheduleInRunLoop:[NSRunLoop currentRunLoop] forMode:NSDefaultRunLoopMode];
    [inputStream open];
    [outputStream open];    
}
Run Code Online (Sandbox Code Playgroud)

发送数据的代码

- (IBAction)sendMessage:(id)sender
{
        NSString *response  = @"lets start chat";
        NSData *data = [[NSData alloc] initWithData:[response dataUsingEncoding:NSASCIIStringEncoding]];
        [outputStream write:[data bytes] maxLength:[data length]]; 
}
Run Code Online (Sandbox Code Playgroud)

代表

- (void)stream:(NSStream *)theStream handleEvent:(NSStreamEvent)streamEvent {

    NSLog(@"stream event %i", streamEvent);

    switch (streamEvent) { …
Run Code Online (Sandbox Code Playgroud)

sockets iphone ios

9
推荐指数
1
解决办法
7135
查看次数

标签 统计

ios ×1

iphone ×1

sockets ×1