iOS MultipeerConnectivity 编程发送图片服务器端

原创 2015年07月08日 15:34:15

//

//  ViewController.m

//  070802blueserver

//

//  Created by tianshangrenjian on 15/7/8.

//  Copyright (c) 2015 tianshangrenjian. All rights reserved.

//


#import "ViewController.h"

#import <MultipeerConnectivity/MultipeerConnectivity.h>

@interface ViewController ()<MCSessionDelegate,UINavigationControllerDelegate,UIImagePickerControllerDelegate>

@property (weak, nonatomic) IBOutlet UIImageView *ImgView;

@property (strong,nonatomic) MCSession *session;

@property (strong, nonatomic) MCAdvertiserAssistant *assistant;

@property (strong, nonatomic) UIImagePickerController *imgPicker;


@end


@implementation ViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    // Do any additional setup after loading the view, typically from a nib.

    MCPeerID *peer=[[MCPeerID alloc] initWithDisplayName:@"sch-server"];

    MCSession *session=[[MCSession alloc] initWithPeer:peer];

    session.delegate=self;

    self.session=session;

    

    

    MCAdvertiserAssistant *assistant=[[MCAdvertiserAssistant alloc] initWithServiceType:@"sch-server" discoveryInfo:nil session:session];

    

    self.assistant=assistant;

    

}



- (void)dealloc

{

    [self.assistant stop ];

}

- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


- (IBAction)btStart:(id)sender {

    [self.assistant start];

    

}


- (IBAction)btPic:(id)sender {

    

    UIImagePickerController *iPc=[[UIImagePickerController alloc] init];

    self.imgPicker=iPc;

    iPc.delegate=self;

    [self presentViewController:iPc animated:YES completion:nil];

    

}


- (void)imagePickerController:(UIImagePickerController *)picker didFinishPickingMediaWithInfo:(NSDictionary *)info

{

    UIImage *img=info[UIImagePickerControllerOriginalImage];

    self.ImgView.image=img;

    NSData *data=UIImagePNGRepresentation(img);

    [self.session sendData:data toPeers:[self.session connectedPeers] withMode:MCSessionSendDataUnreliable error:nil];

    

    

    [picker dismissViewControllerAnimated:YES completion:nil];

}

- (void)imagePickerControllerDidCancel:(UIImagePickerController *)picker

{

    [picker dismissViewControllerAnimated:YES completion:nil];

}



// Remote peer changed state

- (void)session:(MCSession *)session peer:(MCPeerID *)peerID didChangeState:(MCSessionState)state

{

    switch (state) {

        case MCSessionStateConnecting:

            NSLog(@"connectiing!");

            break;

        case MCSessionStateConnected:

            NSLog(@"connected!");

        default:

            break;

    }


}


// Received data from remote peer

- (void)session:(MCSession *)session didReceiveData:(NSData *)data fromPeer:(MCPeerID *)peerID

{

    NSLog(@"receive data");

    UIImage *img=[UIImage imageWithData:data];

    self.ImgView.image=img;

}


// Received a byte stream from remote peer

- (void)session:(MCSession *)session didReceiveStream:(NSInputStream *)stream withName:(NSString *)streamName fromPeer:(MCPeerID *)peerID

{

    

}


// Start receiving a resource from remote peer

- (void)session:(MCSession *)session didStartReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID withProgress:(NSProgress *)progress

{

    

}


// Finished receiving a resource from remote peer and saved the content in a temporary location - the app is responsible for moving the file to a permanent location within its sandbox

- (void)session:(MCSession *)session didFinishReceivingResourceWithName:(NSString *)resourceName fromPeer:(MCPeerID *)peerID atURL:(NSURL *)localURL withError:(NSError *)error

{

    

}





@end


推送通知iOS客户端编写实现及推送服务器端编写

1、iOS客户端编程推送通知技术在Mac OS X和iOS系统上都可以运行,我们本章主要介绍iOS客户端编程,推送通知的编程比较简单,编程的关键是获得令牌,这是从APNS返回的,然后还有把提交给内容提...
  • tonny_guan
  • tonny_guan
  • 2013年05月23日 08:02
  • 21422

iOS -- 上传图片到服务器

上传格式 1.上传文件格式: --本次上传文件标识\r\n Content-Disposition:form-data;name = "参数名";filename = "上传文件名"...
  • shuai_summer
  • shuai_summer
  • 2016年07月29日 16:14
  • 6809

iOS 远程消息推送 APNS推送原理和一步一步开发详解篇

前言:现在第三方推送也很多 ,比如极光,融云,信鸽,其原理也是相同利用APNS推送机制 ,前段公司让做自己的推送,1.避免device token被第三方泄露,保护手机设备信息,2.第三方部分开始收费...
  • YUXIANG19876021
  • YUXIANG19876021
  • 2016年08月16日 09:42
  • 11904

iOS从零开始学习socket编程——HTTP1.0服务器端

在前一篇文章《iOS从零开始学习socket编程——HTTP1.0客户端》中已经简单的介绍过了Socket编程和一些基本原理。并且实现了简单的iOS客户端(原文地址:http://blog.csdn....
  • abc649395594
  • abc649395594
  • 2015年04月19日 18:40
  • 2660

springMVC 服务器端模拟浏览器发送请求,传递图片与文件到不同的服务器

  • 2014年08月20日 17:39
  • 5KB
  • 下载

ios推送php服务器端

  • 2012年12月28日 15:25
  • 2KB
  • 下载

《java入门第一季》之tcp协议下的编程实现键盘录入数据不断地往服务器端发送数据案例

这里要封装通道流,封装键盘录入数据流。 同样地,还是两台电脑。一个客户端,一个服务器。 客户端代码: import java.io.BufferedReader; import java.io...
  • qq_32059827
  • qq_32059827
  • 2016年05月28日 21:33
  • 777

andriod、iOS服务器端代码之文件上传

  • 2015年04月14日 21:43
  • 1.31MB
  • 下载

andriod、iOS服务器端代码

  • 2015年04月14日 09:48
  • 1.09MB
  • 下载

{网络编程}和{多线程}应用:基于TCP协议【实现多个客户端发送文件给一个服务器端】--练习

{网络编程}和{多线程}应用: 基于TCP协议【实现多个客户端发送文件给一个服务器端】--练习...
  • baidu_37107022
  • baidu_37107022
  • 2017年05月04日 12:11
  • 296
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS MultipeerConnectivity 编程发送图片服务器端
举报原因:
原因补充:

(最多只允许输入30个字)