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

1.简单说明

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

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

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

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

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

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

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

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

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

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

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

为什么要学习网络编程

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

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

2.网络编程示例

二、基本概念

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

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

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

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

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

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

三、服务器

1.服务器的分类

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

(1)远程服务器

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

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

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

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

(2)本地服务器

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

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

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

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

  (3) 搭建外网服务器

    本质:还是内网服务器、测试服务器

    效果:在Window上搭建,并且实现外网访问,搭建能让你的其他设备联网都能访问的JSP网站

    详细搭建过程请阅读本人另一篇博文:如何在自己的Windows系统上 架设服务器并开发网站,然后连入外网供外界访问?(JDK+Tomcat+花生壳)

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地址 :真机测试一定要用这个,且真机和服务器得在同一个局域网内

 

iOS开发网络篇—网络编程基础(一)的更多相关文章

  1. iOS开发UI篇—核心动画(基础动画)

    转自:http://www.cnblogs.com/wendingding/p/3801157.html 文顶顶 最怕你一生碌碌无为 还安慰自己平凡可贵 iOS开发UI篇—核心动画(基础动画) iOS ...

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

    iOS开发网络篇—网络编程基础 一.为什么要学习网络编程 1.简单说明 在移动互联网时代,移动应用的特征有: (1)几乎所有应用都需要用到网络,比如QQ.微博.网易新闻.优酷.百度地图 (2)只有通过 ...

  3. iOS开发网络篇—网络请求(HTTP协议)小结

    iOS开发网络篇—网络请求(HTTP协议)小结 iOS开发网络篇—网络请求(HTTP协议)小结 1. 聊一下HTTP协议(协议的完整的通信过程) 2.通信过程 1> 请求 * 客户端 --> ...

  4. iOS开发UI篇—Button基础

    iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状 ...

  5. 《iOS开发指南:从零基础到App Store上架(第2版)》

    <iOS开发指南:从零基础到App Store上架(第2版)> 基本信息 作者: 关东升 丛书名: 图灵原创 出版社:人民邮电出版社 ISBN:9787115348029 上架时间:201 ...

  6. iOS 开发多线程篇—GCD的常见用法

    iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...

  7. iOS开发多线程篇—线程间的通信

    iOS开发多线程篇—线程间的通信 一.简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信 线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任 ...

  8. iOS开发多线程篇—GCD的基本使用

    iOS开发多线程篇—GCD的基本使用 一.主队列介绍 主队列:是和主线程相关联的队列,主队列是GCD自带的一种特殊的串行队列,放在主队列中得任务,都会放到主线程中执行. 提示:如果把任务放到主队列中进 ...

  9. iOS开发多线程篇—GCD的常见用法

    iOS开发多线程篇—GCD的常见用法 一.延迟执行 1.介绍 iOS常见的延时执行有2种方式 (1)调用NSObject的方法 [self performSelector:@selector(run) ...

  10. iOS开发多线程篇—NSOperation基本操作

    iOS开发多线程篇—NSOperation基本操作 一.并发数 (1)并发数:同时执⾏行的任务数.比如,同时开3个线程执行3个任务,并发数就是3 (2)最大并发数:同一时间最多只能执行的任务的个数. ...

随机推荐

  1. ruby -- 进阶学习(十七)应用代码优化

    ROR开发,代码优化的方法下面这两项是比较重要的: link_to  Rails的link_to是非常慢的,它的代码实现过于复杂,特别是Rails1.2引入了REST以后,大量的命名路由被使用,这些命 ...

  2. DDD:如何更好的使用值对象

    背景 大师们让我们多使用“值语义”的对象(并非一定是是值对象),我们工作中也没有少使用(int.bool.date等等),只是大多数人都没有多的自定义“值语义”的类型(我也其中之一),本文不说其它的, ...

  3. 红黑树(四)之 C++的实现

    概要 前面分别介绍红黑树的理论知识和红黑树的C语言实现.本章是红黑树的C++实现,若读者对红黑树的理论知识不熟悉,建立先学习红黑树的理论知识,再来学习本章. 目录1. 红黑树的介绍2. 红黑树的C++ ...

  4. canvas剪裁图片并上传,前端一步到位,无需用到后端

    背景: 当前主流的图片剪裁主要有两种实现方式. 1:flash操作剪裁.2:利用js和dom操作剪裁. 目前看来这个剪裁主要还是先通过前端上传图片到服务器,然后前端操作后把一些坐标和大小数据传到后台, ...

  5. 自己动手模拟百分百<select>下拉列表

    浏览器默认的下拉确实不好用啊,主要是样式不好修改和统一. (一)下手之前先理清一下<select>的流程: 1.结构:<select> <option value=&qu ...

  6. LeetCode-96. Unique Binary Search Trees

    Description: Given n, how many structurally unique BST's (binary search trees) that store values 1.. ...

  7. Android 学习笔记之AndBase框架学习(一) 实现多功能标题栏

    PS:Volley框架终于通过看源码的方式完成了所有的学习..开始学习AndBase...AndBase的源码实在是多的离谱...因此就不对所有的源码进行分析了... 学习内容: 1.使用AndBas ...

  8. [Solution] Microsoft Windows 服务(3) 使用Quartz.net定时任务

    Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,Quartz.net 就是Quartz的移植版本.Quartz可以用来创建简单或为运行十个,百个,甚至是 ...

  9. Entity FrameWork 增删查改的本质

    之前的文章里面已经说了,EF的增删查改.那时候的修改,删除,只能是先查询出来要修改的数据,再修改,删除...现在来一个改进版的,增删查改. 1.Add static void Add() { //1. ...

  10. 常用vs快捷键

    Ctrl+E,D ----格式化全部代码 Ctrl+A+K+FCtrl+E,F ----格式化选中的代码 Ctrl+K+FCTRL + SHIFT + B生成解决方案 Alt+B+B 或 F6 生成当 ...