iOS Socket开发总结~笔记

//联系人:石虎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$ telnet220.181.111.18880

Trying220.181.111.188...

Connected to220.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查看所有开放的端口查看连接状态

谢谢!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 转自http://www.mamicode.com/info-detail-877996.html 一、网络各个协...
    在这蓝色天空下阅读 18,199评论 7 48
  • 转自http://www.mamicode.com/info-detail-877996.html 一、网络各个协...
    嘚嘚以嘚嘚阅读 472评论 0 0
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,567评论 30 472
  • Socket编程一、网络各个协议:TCP/IP、SOCKET、HTTP等网络七层由下往上分别为物理层、数据链路层、...
    VincentHK阅读 324评论 0 2
  • 01 这几天一直在搜罗书单,针对性地想通过多阅读来解决自己的困惑的地方,不解的地方。 比方说如何更好地写作,比方说...
    度千百阅读 234评论 0 2

友情链接更多精彩内容