iOS Socket开发总结~笔记
来源:互联网 发布:php linux 编辑:程序博客网 时间:2024/06/09 20:18
//联系人:石虎 QQ: 1224614774昵称:嗡嘛呢叭咪哄
一、 OSI、TCP/IP参考模型
IOS参考模型七层的作用
同一节点相邻层次间通过接口通信
各节点相同层次通过协议实现
TCP/IP参考模型简化
二、网络通讯要素
使用端口号的范围
ping的回环地址(网上没问题)、Ping IP(网络没问题),域名、DNS
本地域名缓存/etc/hosts (画图演示DNS hosts)
TCP/UDP
URL ftp:http
演示telnet解决工作中常见问题
iVincent:~ Vincent_Guo$ telnet 220.181.111.18880
Trying 220.181.111.188...
Connected to 220.181.111.188.
Escape character is '^]'.
GET /more/ HTTP/1.1
host:www.baidu.com
三、 socket聊天
启动聊天服务器 Python chatserver.py
键盘动画[self.view layoutIfNeeded];
连接到主机,分配输入输出流空间
建立长连接CFStreamCreatePairWithSocketToHost
将语言的输入输出流转成OC对象
设置代表监听输入输出流的状态
添加到主运行循环,否理代理不工作
[_inputStream scheduleInRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];
打开输入输出流
登录发送
NSString *loginStr = [NSString stringWithFormat:@"iam:zhangsan"];
NSData *data = [loginStr dataUsingEncoding:NSUTF8StringEncoding];
[_outputStream write:data.bytes maxLength:data.length];
数据读取
//建立个缓冲区来保存读取到的数据
uint8_t buffer[1024];
//返回实际读取的数据长度
NSInteger len = [_inputStream read:buffer maxLength:sizeof(buffer
//有数据
if (len > 0) {
NSString *reveiver = [[NSString alloc] initWithBytes:buffer length:len encoding:NSUTF8StringEncoding];
}
断开连接要关闭输入输出流并移除主运行循环
回顾
netstat -an -p tcp 查看所有开放的端口查看连接状态
谢谢!!!
- iOS Socket开发总结~笔记
- iOS开发笔记>> socket, http(post, get), TCP/ IP
- ios学习笔记13-开发基础总结
- 据说是iOS开发一年总结的笔记
- iOS开发笔记21--layoutSubviews总结
- iOS 开发笔记和技巧总结(一)
- iOS 开发笔记和技巧总结 (二)
- iOS 开发笔记和技巧总结 (三)
- iOS 开发笔记和技巧总结 (四)
- iOS 开发笔记和技巧总结 (五)
- ios 开发笔记和技巧总结 (六)
- iOS 第三方框架开发总结~笔记
- ios教程 socket开发
- ios socket开发
- ios开发 Socket编程
- ios开发 Socket通信
- iOS开发: Socket详解
- iOS开发之Socket
- 读鸟哥Linux私房菜知识点总结(20170712)
- 奇异值分解(SVD)原理详解及推导
- 通讯录
- Java的优化机制对代码编写的启示
- JavaScript基础知识3
- iOS Socket开发总结~笔记
- C 杜教筛+自然数幂和
- 从零开始的RxJava2.0教程(三)响应式的好处
- 11启用高可用特性
- 李洋疯狂C语言之冒泡排序法
- 关于MySQL,你了解多少?_01
- Apache下载与配置
- 洛谷P1089 津津的储蓄计划
- 输出estimateRigidTransform返回的矩阵