iOS socket 套接字编程
来源:互联网 发布:c语言获取随机数 编辑:程序博客网 时间:2024/05/19 09:17
服务端:
#import "ViewController.h"#import <sys/socket.h>#import <netdb.h>@interface ViewController ()@end#define SOCKET int#define INVALID_SOCKET -1#define SOCKET_ERROR -1@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. SOCKET Socket_Client; //创建 socket Socket_Client = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (Socket_Client == INVALID_SOCKET) { printf("socket error"); return; } struct sockaddr_in sockaddr; //初始化地址信息 sockaddr.sin_family = AF_INET; sockaddr.sin_port = htons(8000); //8000端口 sockaddr.sin_addr.s_addr = INADDR_ANY; //表示所有可用的地址 //绑定 socket if (bind(Socket_Client,(struct sockaddr*)&sockaddr,sizeof(sockaddr)) == SOCKET_ERROR) { printf("bind error"); return; } //监听 if (listen(Socket_Client,5) == SOCKET_ERROR) { printf("listen error"); return; } SOCKET Socket_Server; //客户端 struct sockaddr_in remoteAddr; //服务端地址 int Addrlen = sizeof(remoteAddr); char revData[255]; while (true) { //接收连接 Socket_Server = accept(Socket_Client,(struct sockaddr*)&remoteAddr,&Addrlen); if (Socket_Client == INVALID_SOCKET) { printf("accept error"); continue; } printf("连接成功"); //接收数据 int ret = recv(Socket_Server,revData,sizeof(revData),0); if (ret > 0) { printf("recv: %s",revData); } } close(Socket_Server); //关闭socket}
客户端:
#import "ViewController.h"#import <sys/socket.h>#import <netdb.h>#import <arpa/inet.h>#define SOCKET int#define INVALID_SOCKET -1@interface ViewController ()@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; //创建Socket SOCKET Socket_Server; Socket_Server = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if (Socket_Server == INVALID_SOCKET) { printf("Socket error"); return; } //初始化地址 struct sockaddr_in ClientAddr; ClientAddr.sin_family = AF_INET; ClientAddr.sin_port = htons(8000); ClientAddr.sin_addr.s_addr = inet_addr("192.168.4.107"); //循环连接 while (true) { //连接 if (connect(Socket_Server,(struct sockaddr*)&ClientAddr,sizeof(ClientAddr)) < 0) { printf("connect error\n"); sleep(3); continue; } printf("连接成功"); break; } //发送 if (send(Socket_Server,"上线了",sizeof("上线了"),0) < 0) { printf("send error"); return; } //关闭Socket close(Socket_Server); // Do any additional setup after loading the view, typically from a nib.}
阅读全文
0 0
- ios Socket套接字编程
- iOS socket 套接字编程
- Socket套接字编程
- socket套接字编程
- socket 套接字编程
- socket套接字编程
- PHP套接字编程(socket)
- 套接字socket高级编程
- WinCE Socket套接字编程
- 套接字和socket编程
- 【socket】TCP套接字编程
- Java套接字Socket编程
- JavaSE 套接字Socket编程
- socket套接字编程函数
- Windows套接字编程/Socket
- 网络编程socket套接字
- Socket编程--套接字概念
- 套接字(socket)与socket 编程
- React-引领未来的用户界面开发框架-读书笔记(六)
- 【脚本语言系列】关于Python基础知识对象变动,你知道的事
- messager(消息窗口) 的使用
- Homework_7
- Android——用户界面设计(布局)
- iOS socket 套接字编程
- cut
- Eclipse中使用相对路径来引用Library
- 64. Minimum Path Sum
- React-引领未来的用户界面开发框架-读书笔记(七)
- 学习Mongodb笔记(三)——文档更新中高效的修改器
- NLP简介 & 文本预处理
- the HTTP rewrite module requires the PCRE libraryh解决方法
- Android7.0拍照失败FileUriExposedException