博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
简易UDP传输
阅读量:7038 次
发布时间:2019-06-28

本文共 1843 字,大约阅读时间需要 6 分钟。

 

ViewController.h

1 #import 
2 #import "AsyncUdpSocket.h" 3 4 @interface ViewController : UIViewController 5
6 { 7 IBOutlet UITextField *ipField; 8 IBOutlet UITextField *sendField; 9 IBOutlet UITextView *contentView;10 11 AsyncUdpSocket *recvSocket;12 AsyncUdpSocket *sendSocket;13 }14 15 -(IBAction)sendText:(id)sender;16 17 @end

 

ViewController.m

1 #import "ViewController.h" 2  3 @implementation ViewController 4  5 #pragma mark - viewDidLoad 6  7 - (void)viewDidLoad 8 { 9     [super viewDidLoad];10     11     //服务端12     recvSocket = [[AsyncUdpSocket alloc]initWithDelegate:self];13     //客户端14     sendSocket = [[AsyncUdpSocket alloc]initWithDelegate:self];15     16     //服务端开始等待别的客户端的连接17     //65535   >500018     [recvSocket bindToPort:5888 error:nil];19     [sendSocket bindToPort:5999 error:nil];20     21     //等待接受数据22     [recvSocket receiveWithTimeout:-1 tag:100];23     //什么时候接受到了数据24 }25 26 #pragma mark - AsyncUdpSocketDelegate27 //调用这个方法的时候证明接收到了数据28 -(BOOL)onUdpSocket:(AsyncUdpSocket *)sock didReceiveData:(NSData *)data withTag:(long)tag fromHost:(NSString *)host port:(UInt16)port29 {30     NSString *str = [[[NSString alloc]initWithData:data encoding:NSUTF8StringEncoding]autorelease];31     contentView.text = [NSString stringWithFormat:@"%@\n%@:%@",contentView.text,host,str];32     [recvSocket receiveWithTimeout:-1 tag:100];33     return YES;34 }35 //这里就发送成功了36 -(void)onUdpSocket:(AsyncUdpSocket *)sock didSendDataWithTag:(long)tag37 {38 }39 40 #pragma mark - .h event41 -(void)sendText:(id)sender42 {43     NSData *data = [sendField.text dataUsingEncoding:NSUTF8StringEncoding];44     [sendSocket sendData:data toHost:ipField.text port:5888 withTimeout:60 tag:100];45     46 }47 @end

 

转载于:https://www.cnblogs.com/liushong/archive/2013/01/29/2881180.html

你可能感兴趣的文章
PulsingHalo(自定义涟漪)的使用方法
查看>>
ubuntu安装软件apt-get
查看>>
js template实现方法
查看>>
HTML <img> 标签
查看>>
rsync使用
查看>>
大话RAC介质恢复---联机日志损坏
查看>>
Unity3d之动态连接Mesh Renderer和Collider
查看>>
【编程小练习】字符串大写字母转小写
查看>>
霸气!Nginx 中缓存静态文件秘籍
查看>>
有了SSL证书,如何在IIS环境下部署https?【转载】
查看>>
浅谈Struts2拦截器的原理与实现
查看>>
C# 有关文件路径的操作
查看>>
Vcenter server 5.5安装部署
查看>>
使用Maven Assembly plugin将依赖打包进jar
查看>>
elasticsearch 基础性操作
查看>>
6个技巧加速你的gradle编译
查看>>
tp中使用事务
查看>>
spring mybatis配置
查看>>
UIButton 标题靠右
查看>>
【原创+亲测可用】JS如何区分微信浏览器、QQ浏览器和QQ内置浏览器
查看>>