iOS_socket_switch
来源:互联网 发布:硕鼠软件怎么样 编辑:程序博客网 时间:2024/05/11 02:53
1.AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Override point for customization after application launch. self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen]bounds]]; self.window.backgroundColor = [UIColor whiteColor]; ViewController *root = [[ViewController alloc]init]; self.window.rootViewController = root; [self.window makeKeyAndVisible]; return YES;}
2.ViewController.h
#import <UIKit/UIKit.h>@interface ViewController : UIViewController{ Boolean link; int fd; Boolean conn;}@end
3.ViewController.m
#import "ViewController.h"#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; link = false; UIButton *on = [UIButton buttonWithType:UIButtonTypeCustom]; on.frame = CGRectMake(50, 50, 200, 36); on.backgroundColor = [UIColor blueColor]; [on setTitle:@"ON" forState:UIControlStateNormal]; [on addTarget:self action:@selector(turnON) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:on]; UIButton *off = [UIButton buttonWithType:UIButtonTypeCustom]; off.frame = CGRectMake(50, 100, 200, 36); off.backgroundColor = [UIColor blueColor]; [off setTitle:@"OFF" forState:UIControlStateNormal]; [off addTarget:self action:@selector(turnOFF) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:off];}-(void) openSocket{ struct sockaddr_in addr; if ((fd=socket(AF_INET, SOCK_STREAM, 0))!=-1) { NSLog(@"socket success"); memset(&addr, 0, sizeof(addr)); addr.sin_len=sizeof(addr); addr.sin_family=AF_INET; addr.sin_addr.s_addr=INADDR_ANY; if (bind(fd, (const struct sockaddr *)&addr, sizeof(addr))==0) { struct sockaddr_in peeraddr; memset(&peeraddr, 0, sizeof(peeraddr)); peeraddr.sin_len=sizeof(peeraddr); peeraddr.sin_family=AF_INET; peeraddr.sin_port=htons(9999); peeraddr.sin_addr.s_addr=inet_addr("192.168.2.6"); socklen_t addrLen; addrLen =sizeof(peeraddr); conn = (connect(fd, (struct sockaddr *)&peeraddr, addrLen)==0); } }}-(void)turnON{ [self linkSocket]; if (conn) { const char str[] = "on"; send(fd, str,sizeof(str)-1,0); }else{ NSLog(@"connect failed"); }}-(void)turnOFF{ [self linkSocket]; if (conn) { const char str[] = "off"; send(fd, str,sizeof(str)-1,0); }else{ NSLog(@"connect failed"); }}-(void)linkSocket{ if (!link) { [self openSocket]; link = true; }}- (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated.}@end
0 0
- iOS_socket_switch
- No compiler is provided in this environment. Perhaps you are running on a JRE rather than a JDK
- 那些漏掉的JQuery总结(四)——JQuery设计思想
- db2数据库中的数据类型
- 利用N来管理nodejs的版本问题
- C++重要议题
- iOS_socket_switch
- Java学习之HashMap: 如何正确实现Map的entrySet()方法
- VB.net学习笔记(二十二)XML的DOM模型读写
- c++作业六
- Java流(Stream)、文件(File)和IO
- 脾胃论
- RectTransform图片自适应(拉伸):
- 如何用ASPxGridView绑定多表关联的查询结果
- 清除MBR里的Grub Stage1信息