swift5学习之旅------简易聊天室
- 整体代码
Github还没上传,先用着Dropbox(可能要翻墙),看完有收获的感谢点个赞👍,如果翻不了墙要代码可以私聊我
https://www.dropbox.com/sh/5oyxgu8vwx0ypux/AAAJ_KACNiJXIdX77OT0srKUa?dl=0
聊天室使用了Golang中的通信,可以参考别人的介绍
https://github.com/dariencdd/StudyLog/wiki/Golang中client-server模型
golang通信
- 核心思想
- 网络层
要读取写入网络流数据,就要使用 CFReadStream,CFWriteStream
CFStreamCreatePairWithSocketToHost连接服务器
输入流:inputStream把硬盘文件中的数据,读取到内存中使用。对应的是readStream
输出流:outputStream把内存中的数据存到硬盘中,对应的是outputstream
//建立网络连接
func setupNetworkCommunication(){
//Unmanaged表示对不清晰的内存管理对象的封装
var readStream: Unmanaged<CFReadStream>?
var writeStream: Unmanaged<CFWriteStream>?
CFStreamCreatePairWithSocketToHost(kCFAllocatorDefault, "127.0.0.1" as CFString, 98, &readStream, &writeStream)
inputStream = readStream!.takeRetainedValue()
outputStream = writeStream!.takeRetainedValue()
inputStream.delegate = self
inputStream.schedule(in: .current