使用系统文件实现socket通信--客户端创建
注意:本工程是iOS >> application >> singleview 创建的工程
在搭建完服务器端的前提下,写完本工程。 先运行服务器端,在运行客户端 就可以看到服务器端给我们发送的消息(是打印出来的 hello World)
客户端创建也是要引入同服务器端一样的四个文件
#import <arpa/inet.h> #import <sys/types.h> #import <sys/socket.h> #import <netinet/in.h>
客户端创建分为四个步骤
1.创建socket
2.连接到指定的服务器
3.数据传输
4.关闭socket
全部代码如下
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. // 1.创建到socket int socketDescripter = socket(AF_INET, SOCK_STREAM, 0); // 2.连接到指定的服务器 (ip , 端口号, 网络层协议IPV4/IPV6)) struct sockaddr_in sockAddr = {0}; sockAddr.sin_family = AF_INET; sockAddr.sin_addr.s_addr = inet_addr("10.80.10.33");//因为我们服务器端也是自己电脑创建的 用的是我们自己的IP 查看自己IP的方法 不会就百度 sockAddr.sin_port = htons(8910);// 设置端口 这个要和服务器的端口一致 方法htons()是保证任何处理器下的端口在编译成二进制的时候 都是一样的 connect(socketDescripter, (struct sockaddr *restrict)&sockAddr, sizeof(sockAddr)); // 3.数据传输 char buffer[20];//创建一个字符串数组 接收数据 recv(socketDescripter, buffer, 20, 0);//这个函数用来接收消息 printf("%s\n",buffer); // 4.关闭socket close(socketDescripter); }