iOS开发网络篇—网络编程基础

简介: iOS开发网络篇—网络编程基础 一、为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图 (2)只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力 (3)如果没有了网络,也就缺少...

iOS开发网络篇—网络编程基础

一、为什么要学习网络编程

1.简单说明

在移动互联网时代,移动应用的特征有:

(1)几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图

(2)只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力

(3)如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水

  

移动网络应用 = 良好的UI + 良好的用户体验 + 实时更新的数据

新闻:网易新闻、新浪新闻、搜狐新闻、腾讯新闻

视频:优酷、百度视频、搜狐视频、爱奇艺视频

音乐:QQ音乐、百度音乐、酷狗音乐、酷我音乐

LBS:百度地图、高德地图、大众点评、墨迹天气、滴滴打车

电商:淘宝、京东商城、天猫、蘑菇街、凡客诚品、美丽说

社交:QQ、微信、微博、陌陌、比邻

 

为什么要学习网络编程

网络编程是一种实时更新应用数据的常用手段 

网络编程是开发优秀网络应用的前提和基础

 

2.网络编程示例

 

二、基本概念

在网络编程中,有几个必须掌握的基本概念

客户端(Client):移动应用(iOS、android等应用)

服务器(Server):为客户端提供服务、提供数据、提供资源的机器

请求(Request):客户端向服务器索取数据的一种行为

响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端

 

作为移动开发工程师,主要的精力都是放在前端开发

 

三、服务器

1.服务器的分类

按照软件开发阶段来分,服务器可以大致分为2种

(1)远程服务器

别名:外网服务器、正式服务器

使用阶段:应用上线后使用的服务器

使用人群:供全体用户使用

速度:服务器的性能、用户的网速

 

(2)本地服务器

别名:内网服务器、测试服务器

使用阶段:应用处于开发、测试阶段使用的服务器

使用人群:仅供公司内部的开发人员、测试人员使用

速度:由于是局域网,所以速度飞快,有助于提高开发测试效率

 

2.本地服务器的选择

如果处于学习、开发阶段,自己搭建一个本地服务器即可

(1)选择怎样的本地服务器?

在公司开发阶段,已经有专门的后端人员开发服务器程序,不由得你选择

在学习阶段,选择什么本地服务器都可以,能用就行

 

(2)在要想在Mac上方便地启动Java服务器,大致有以下步骤

1)安装JDK (Java Development Kit)

2)安装Java的开发工具:eclipse   下载地址:http://www.eclipse.org/downloads,选择64bit、Java EE版本的

3)利用Java编写一套服务器程序

4)配置服务器的容器:Apache Tomcat  下载地址:http://tomcat.apache.org/download-60.cgi

5)启动Apache Tomcat

 

3.本地服务器的主机地址

本地服务器的主机地址一般有3种写法:

(1)127.0.0.1 :每台机器内置的IP地址,指的就是机器本身

(2)localhost :等价于第1种情况的127.0.0.1

(3)交换机\路由器分配的IP地址 :真机测试一定要用这个,且真机和服务器得在同一个局域网内

目录
相关文章
|
安全 Linux 虚拟化
Cisco IOS XRv 9000 Router IOS XR Release 7.11.2 MD - 思科 IOS XR 网络操作系统
Cisco IOS XRv 9000 Router IOS XR Release 7.11.2 MD - 思科 IOS XR 网络操作系统
739 3
Cisco IOS XRv 9000 Router IOS XR Release 7.11.2 MD - 思科 IOS XR 网络操作系统
|
JSON 中间件 Go
Go 网络编程:HTTP服务与客户端开发
Go 语言的 `net/http` 包功能强大,可快速构建高并发 HTTP 服务。本文从创建简单 HTTP 服务入手,逐步讲解请求与响应对象、URL 参数处理、自定义路由、JSON 接口、静态文件服务、中间件编写及 HTTPS 配置等内容。通过示例代码展示如何使用 `http.HandleFunc`、`http.ServeMux`、`http.Client` 等工具实现常见功能,帮助开发者掌握构建高效 Web 应用的核心技能。
686 61
|
移动开发 网络协议 NoSQL
不为人知的网络编程(十七):冰山之下,一次网络请求背后的技术秘密
本文将抛弃千篇一律的计网知识理论,从现实的互联网技术实践角度,一步步为你分享一次网络请求背后的技术秘密。
282 0
|
安全 网络安全 Android开发
安卓与iOS开发:选择的艺术网络安全与信息安全:漏洞、加密与意识的交织
【8月更文挑战第20天】在数字时代,安卓和iOS两大平台如同两座巍峨的山峰,分别占据着移动互联网的半壁江山。它们各自拥有独特的魅力和优势,吸引着无数开发者投身其中。本文将探讨这两个平台的特点、优势以及它们在移动应用开发中的地位,帮助读者更好地理解这两个平台的差异,并为那些正在面临选择的开发者提供一些启示。
347 56
|
Web App开发 网络协议 安全
网络编程懒人入门(十六):手把手教你使用网络编程抓包神器Wireshark
Wireshark是一款开源和跨平台的抓包工具。它通过调用操作系统底层的API,直接捕获网卡上的数据包,因此捕获的数据包详细、功能强大。但Wireshark本身稍显复杂,本文将以用抓包实例,手把手带你一步步用好Wireshark,并真正理解抓到的数据包的各项含义。
6019 2
|
存储 机器人 Linux
Netty(二)-服务端网络编程常见网络IO模型讲解
Netty(二)-服务端网络编程常见网络IO模型讲解
|
网络协议 Python
告别网络编程迷雾!Python Socket编程基础与实战,让你秒变网络达人!
在网络编程的世界里,Socket编程是连接数据与服务的关键桥梁。对于初学者,这往往是最棘手的部分。本文将用Python带你轻松入门Socket编程,从创建TCP服务器与客户端的基础搭建,到处理并发连接的实战技巧,逐步揭开网络编程的神秘面纱。通过具体的代码示例,我们将掌握Socket的基本概念与操作,让你成为网络编程的高手。无论是简单的数据传输还是复杂的并发处理,Python都能助你一臂之力。希望这篇文章成为你网络编程旅程的良好开端。
355 3
|
网络协议 安全 网络安全
C语言 网络编程(四)常见网络模型
这段内容介绍了目前被广泛接受的三种网络模型:OSI七层模型、TCP五层模型以及TCP/IP四层模型,并简述了多个网络协议的功能与特性,包括HTTP、HTTPS、FTP、DNS、SMTP、TCP、UDP、IP、ICMP、ARP、RARP及SSH协议等,同时提到了ssh的免费开源实现openssh及其在Linux系统中的应用。
|
安全 Java 网络安全
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
【认知革命】JAVA网络编程新视角:重新定义URL与URLConnection,让网络资源触手可及!
280 2
|
开发者 图形学 API
从零起步,深度揭秘:运用Unity引擎及网络编程技术,一步步搭建属于你的实时多人在线对战游戏平台——详尽指南与实战代码解析,带你轻松掌握网络化游戏开发的核心要领与最佳实践路径
【8月更文挑战第31天】构建实时多人对战平台是技术与创意的结合。本文使用成熟的Unity游戏开发引擎,从零开始指导读者搭建简单的实时对战平台。内容涵盖网络架构设计、Unity网络API应用及客户端与服务器通信。首先,创建新项目并选择适合多人游戏的模板,使用推荐的网络传输层。接着,定义基本玩法,如2D多人射击游戏,创建角色预制件并添加Rigidbody2D组件。然后,引入网络身份组件以同步对象状态。通过示例代码展示玩家控制逻辑,包括移动和发射子弹功能。最后,设置服务器端逻辑,处理客户端连接和断开。本文帮助读者掌握构建Unity多人对战平台的核心知识,为进一步开发打下基础。
1355 0