踩坑踩了4天总算把基于Moya的网络框架搭建完毕看网上关于Moya的教程不太多,大多都是一样的,还有一些年久失修。这里专门讲讲关于moya的搭建及容易遇到的一些坑。重要的东西放到最前面1.最好的教材是官方文档和Demo,Moya有中文文档。2.尝试一些不一样的东西会让开发更有趣。3.我把Demo地址放最后了。为什么选择moya:一开始网络框架的选型有Alamofire和Moya。Alamofire
转载
2023-10-22 08:26:09
123阅读
# 如何使用 Swift 实现 Socket 框架
在这篇文章中,我们将学习如何在 Swift 中使用 Socket 框架。Socket 是一种用于网络通信的标准接口,以支持在设备间传输数据。我们将逐步实现一个简单的 TCP 客户端和服务器示例,帮助你更好地理解如何在 Swift 中使用 Socket。
## 一、实现步骤概述
以下是实现 Swift Socket 的主要步骤:
| 步骤
Alamofire是一个使用Swift编写的开源网络库,主要用于iOS、macOS和watchOS应用程序中进行HTTP请求和响应处理。它基于NSURLSession构建,提供了强大的、易于使用的API,并支持多种编码方式和网络安全性。Alamofire的架构可以分为以下几个部分:SessionManager:这是Alamofire的核心部分,负责处理NSURLSession和请求管理。Sessi
转载
2023-10-21 17:59:04
139阅读
# Swift Socket框架简介及示例
在现代网络应用开发中,Socket编程是实现网络通信的重要技术之一。借助Socket,我们可以轻松地实现客户端与服务器之间的通信。本文将探讨Swift语言中的Socket框架,并结合代码示例进行说明。
## 什么是Socket
Socket是一种网络通信的标准接口,通过它,程序可以在网络上发送和接收数据。Socket可以用于多种通信场景,包括HTT
作者:Aaron Douglas 译者:kmyhy传统的网络技术 (也就是 Berkeley sockets) 被认为是可靠和稳定的。但是 Berkeley socket 在某些 web 技术,比如代理和防火墙下不太好使。WebSocket 出现于 2011 年,是一种在客户端和服务端之间建立双向通讯的新技术。WebSocket 比起多个 HTTP 请求来说更有效率并允许长连接。在 iOS
已经很长一段时间没有总结项目了,正好最近完成项目第二版的改版(新项目完全是用swift写的),就把项目中一些有意义的知识块在此记录一下, 项目中有实时的交易需要展示,所以用到了socket长链接,我用的是Starscream这个第三方库,集成方法很简单去网站看看就知道。1 先上代码import UIKit
import Reachability
import Starscream
import z
转载
2023-10-23 11:05:33
199阅读
在Swift开发中,如果我们需要保持客服端和服务器的长连接进行双向的数据通信,使用socket是一种很好的解决方案。
下面通过一个聊天室的样例来演示socket通信,这里我们使用了一个封装好的socket库(
SwiftSocket)。
功能如下:
1,程序包含服务端和客服端,这里为便于调试把服务端和客服端都做到一个应用中
2,程序启动
转载
2024-01-27 18:10:20
71阅读
SwiftNIO is a cross-platform asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients. It’s like Netty, but written
转载
2024-02-08 15:56:20
0阅读
# 实现socket swift
## 简介
在计算机网络中,**Socket**是一种通信机制,它允许在不同的计算机之间进行数据传输。在Swift中,可以使用**SwiftSocket**库来实现Socket通信。本文将教你如何使用SwiftSocket库实现Socket通信。
## 准备工作
在开始之前,需要先安装**CocoaPods**,在终端中输入以下命令进行安装:
```
$ su
原创
2023-10-15 06:21:23
206阅读
1 QuickServer QuickServer则同时支持blockingIO和nio,需要进行配置选择,QuickServer提供了另外一个非常实用的功能-管理服务 端口,通过其设定的一些指令查询服务器的状态、控制服务器等。此功能成为最后选择的最大优势。其他例如IP过滤的功能在QuickServer中只需要进 行配置即可。 QuickServer
转载
2023-08-21 16:22:48
360阅读
框架整合将SwiftUI视图集成到现有应用程序中,并将AppKit,UIKit和WatchKit视图和控制器嵌入SwiftUI视图层次结构中。总览使用以下方法将SwiftUI与应用程序的现有内容集成:托管控制器以将AppKit,UIKit或WatchKit视图和视图控制器添加到您的SwiftUI界面。托管控制器包装指定的视图或视图控制器,并促进包装的对象与SwiftUI视图之间的通信。用于将Swi
转载
2023-11-22 10:51:41
144阅读
为什么选择的是Perfect?最近在关注Swift的服务器框架,其中主流框架前三分别是:Perfect star:8978Vapor star:6919Vapor是借鉴Laravel框架的,如果你之前是试用Laravel框架做开发,那么使用Vapor更容易一些。但我为什么选择使用Perfect呢?主要是因为有人对这几个框架以及Node.js做了对比,Perfect各项表现非常优异,所以选择了这个框
转载
2024-05-17 21:34:56
38阅读
# 教你如何在Swift中使用Socket
## 引言
在移动应用的开发过程中,有时候我们需要与服务器进行实时的数据交互,这就需要使用到Socket编程。使用Socket可以方便地实现客户端与服务器之间的通信。本篇文章将教你如何在Swift中使用Socket。
## 整体流程
下面是在Swift中使用Socket的整体流程:
```mermaid
journey
title 整体流程
原创
2023-10-23 21:11:49
321阅读
对TCP套接字调用connect会激发三次握手,如下:客户端是主动打开连接的一端,会发送第一个SYN分节,然后等待确认,此时连接状态为SYN_SENT,当收到服务端的确认后连接建立,状态变为ESTABLISHED;服务器是被动打开连接的一端,调用listen导致套接字从CLOSED状态变为LISTEN状态,当收到来自客户端的SYN分节以后状态变为SYN_RCVD,然后发送第二个SYN分节,等待客
转载
2024-06-07 21:42:26
224阅读
做实际项目总是离不开这两步,大多数情况下都是采用第三方框架来辅助完成,swift也不例外,由于swift并不成熟,用swift语言写的第三方框架很不稳定(苹果更新太快了),所幸swift和oc可以混编,所以本次使用的框架都是oc里面常用的。网络请求使用AFNetworking,json解析使用MJExtension。
下面开始正文:1. swift中使用oc框架其原理很简单,需要一个.h头文件,
转载
2023-06-11 00:15:49
187阅读
用OC开发的时候用的MVC架构模式,所以想在Swift中试试MVVM架构模式都说MVVM是MVC改进而来,因为MVC的Controller太庞大了,所以给他减减重,就新建了一种ViewModel类,它继承于NSObject, 从ViewController里抽出UI逻辑,就放在了ViewModel里了,在ViewModel里每一个View里的UI控件都有与之对应的属性。 也就是说,对于在view上
转载
2023-08-18 15:50:43
255阅读
基于Xcode13.x,swift5.x,以后会在此项目基础上进行完善 这篇文章介绍怎么改造一个swift默认项目,搭建一个swift通用项目框架,基于nav+tabbar,调整项目结构和层级关系,创建基类(BaseViewController、BaseNavigationController、BaseTabBarController),使用swift分类(extension)和引用oc文件Git
转载
2023-09-15 22:53:14
102阅读
Swift 5.1是Apple通用语言的升级版,是对基于C语言的替代,它引入了模块稳定性。 模块稳定性使Swift开发人员可以创建二进制框架,以与该语言的未来版本一起使用。 Swift 5.1引入了一个新的基于文本的模块接口文件,该文件描述了二进制框架的API,从而允许使用不同的编译器版本来编译Swift代码。 Swift 5.1还包括属性包装器,这些属性包装器引入了一种通用语法,用于定义属性
转载
2023-09-12 21:32:38
128阅读
SwiftUI简介SwiftUI是wwdc2019发布的一个新的UI框架,通过声明和修改视图来布局UI和创建流畅的动画效果。并且我们可以通过状态变量来进行数据绑定实现一次性布局;Xcode 11 内建了直观的新设计工具canvus,在整个开发过程中,预览可视化与代码可编辑性能同时支持并交互,让我们可以体验到代码和布局同步的乐趣;同时支持和UIkit的交互设计工具canvus开发者可以在canvus
转载
2023-08-08 07:48:35
301阅读
工具类
SwiftyJSON:GitHub上最为开发者认可的JSON解析类
Dollar.swift:Swift版Lo-Dash(或underscore)函数式工具库
OAuthSwift:国外主流网站OAuth授权类库
PathKit:小而美的路径管理类
XCGLogger:功能完整的日志管理类库
Surge:基于苹果Accelerate高性能计算框架封装库
Async:简洁的后台执行代码封装
转载
2023-08-21 01:48:09
223阅读