iOS App之间的通信 local socket

2020-01-17 21:34:28丽君

3、使用connect()函数连接主机 


/*
 * connect函数通常用于客户端简历tcp连接,连接指定地址的主机,函数返回一个int值,-1为失败
 * 第一个参数为socket函数创建的套接字,代表这个套接字要连接指定主机
 * 第二个参数为套接字sock想要连接的主机地址和端口号
 * 第三个参数为主机地址大小
 */
int con = connect(sock, (struct sockaddr *) &socketPram, sizeof(socketPram));
if(con == -1){
 close(sock);
 NSLog(@"连接失败");
 return;

}

NSLog("连接成功"); // 来到这代表连接成功;

4、连接成功之后就可以收发数据了 


- (IBAction)senddata:(id)sender {
 // 发送数据
 char sendData[32] = "hello service";
 ssize_t size_t = send(self.sock, sendData, strlen(sendData), 0);
 NSLog(@"%zd",size_t);
}
 

- (void)recvData{
 // 接受数据,放在子线程
 ssize_t bytesRecv = -1;
 char recvData[32] = "";
 while (1) {
 
  bytesRecv = recv(self.sock, recvData, 32, 0);
  NSLog(@"%zd %s",bytesRecv,recvData);
  if (bytesRecv == 0) {
   break;
  }

 }

}

好了,利用socket在本地进行两个App的通讯就这样就行了。第一次写博文,一是记录下自己的心得,二是和大家一起分享,文中有不对的地方希望大家可以指出。最后附上Demo的地址,两个项目,有兴趣的大家可以下下来试下:

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持ASPKU。


注:相关教程知识阅读请移步到IOS开发频道。