AJ分享,必须精品

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

关于这个问题,为什么要学习网络编程,AJ的理解就是,这东西是时代发展的必要,没什么为什么,就是应该学,除非你就是想玩单机,但是就算是单机也会有购买金币之类的网络需求,简单来说,有了网络,让你不再是一个人在战斗。

网络编程是一种实时更新应用数据的常用手段 。
网络编程是开发优秀网络应用的前提和基础。
总之,网络编程十分重要,必须学,必须学好。

二:初识网络

1:要记住的基本概念

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

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

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

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

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

作为移动开发工程师,主要的精力都是放在前端开发,就是水果手机上操作的那些。

2:服务器

A:服务器的分类

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

(1)远程服务器

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

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

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

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

(2)本地服务器

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

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

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

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

B:本地服务器的选择

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

(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

C:本地服务器的主机地址

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

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

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

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

搭建本地服务器

第一步:准备好相关的软件:

apache-tomcat-6.0.41.tar
eclipse-jee-kepler-SR2-macosx-cocoa-x86_64.tar.gz
jdk-8u5-macosx-x64.dmg

第二步:安装eclipse:
1:制作一个纯英文路径的文件夹。
2:将eclipse-jee-kepler-SR2-macosx-cocoa-x86_64.tar.gz放入文件夹并且双击打开,他会解药到当前目录中。

3:安装jdk:

4:打开eclipse

5:设置工作空间(全英文路径)

6:开始导入项目,把MJ写好的代码放入(你要是javaEE牛自己写也没事,AJ临时用的mj的后面学习时候会直接用网络上的)。

7:从eclipse导入项目:

8:导入项目之后,项目报错且格式乱码,下面进行调整。

9:配置tomcat服务器:
把下载的tomcat解压放到全英文路径下:

打开servers


点ok后创建一个新的容器

选择容器的路径就是tomcat的文件路径

成功后:

10:以debug的方式启动服务器

11:加载项目:
看到后台的最后的红色数字没有,那个事tomcat的启动时间

12:这时候我们就可以访问我们的站点了:
火狐浏览器输入:http://192.168.1.53:8080/MJServer
或者:http://127.0.0.1:8080/MJServer

AJ学IOS(56)网络基础以及如何搭建服务器的更多相关文章

  1. 前端学HTTP之网络基础

    × 目录 [1]网络 [2]OSI [3]TCP/IP 前面的话 HTTP协议对于前端工程师是非常重要的.我们在浏览网站时,访问的每一个WEB页面都需要使用HTTP协议实现.如果不了解HTTP协议,就 ...

  2. AJ学IOS 之微博项目实战(2)微博主框架-自定义导航控制器NavigationController

    AJ分享,必须精品 一:添加导航控制器 上一篇博客完成了对底部的TabBar的设置,这一章我们完成自定义导航控制器(NYNavigationController). 为啥要做自定义呢,因为为了更好地封 ...

  3. AJ学IOS(13)UI之UITableView学习(下)汽车名牌带右侧索引

    AJ分享,必须精品 先看效果图 代码 ViewController #import "NYViewController.h" #import "NYCarGroup.h& ...

  4. [iOS 多线程 & 网络 - 2.0] - 发送接收 服务器信息

    A.搭建java服务器 使用eclipse.tomcat和struts2框架搭建一个简单的服务器 1.准备好合适版本的JDK.eclipse EE.tomcat.struts2 框架包 2.配置JDK ...

  5. AJ学IOS(55)多线程网络之图片下载框架之SDWebImage

    AJ分享,必须精品 效果: 代码: - (NSArray *)apps { if (!_apps) { NSArray *dictArray = [NSArray arrayWithContentsO ...

  6. AJ学IOS(49)多线程网络之线程的创建NSThreand

    AJ分享,必须精品 一:NSThread的基本使用 1:创建和启动线程 一个NSThread对象就代表一条线程 创建.启动线程 NSThread *thread = [[NSThread alloc] ...

  7. AJ学IOS(50)多线程网络之GCD简单介绍(任务,队列)

    AJ分享,必须精品 GCD简单介绍 1.什么是GCD? 全称是Grand Central Dispatch,可译为“牛逼的中枢调度器” 纯C语言,提供了非常多强大的函数 2.GCD的优势 GCD是苹果 ...

  8. AJ学IOS(48)多线程网络之多线程简单了解

    AJ分享,必须精品 一:进程和线程 1:什么是进程 进程是指在系统中正在运行的一个应用程序 每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内. 比如同时打开QQ.Xcode,系统就会分 ...

  9. AJ学IOS(39)UI之核心动画之CABasicAnimation(基础动画)

    AJ分享,必须精品 一.CABasicAnimation简介 CAPropertyAnimation的子类 属性解析: fromValue:keyPath相应属性的初始值 toValue:keyPat ...

随机推荐

  1. 【简说Python WEB】Flask应用的文件结构

    目录 [简说Python WEB]Flask应用的文件结构 1.文件结构的目录 2.配置程序--config.py 3.app应用包 4.剥离出来的email.py 5.蓝本(BLueprint)的应 ...

  2. CodeMixerPro工具,完美替代ChaosTool,iOS添加垃圾代码工具,代码混淆工具,代码生成器,史上最好用的垃圾代码添加工具,自己开发的小工具

    新工具 ProjectTool 已上线 这是一款快速写白包工具,秒级别写H5游戏壳包,可视化操作,极易使用,支持Swift.Objecive-C双语言 扣扣交流群:811715780 进入 Proje ...

  3. Windows软件包管理工具 - Chocolatey

    概述 windows下的软件安装管理器(用于自动管理软件安装,更新,卸载) Chocolatey引入了真正的包管理概念,使您能够对事物进行版本控制,管理依赖关系和安装顺序,更好的库存管理以及其他功能 ...

  4. AutoJS4.1.0实战教程 ---火热持续更新中

    这个时代假货太多,虚假广告更是充斥着整个互联网.尤其是那个传奇的我都无语了.好几个明xing代言,问题是太假了……我好奇的是那么虚假怎么就没人管呢,XX部干嘛呢……另外互联网刷视频赚钱就是个炒作.几百 ...

  5. 批量redis未授权检测工具&批量redis弱口令爆破工具

    今天需要然后就百度搜索了一波,然后自己稍微改了一下: #!/usr/bin/python3 # -*- coding: utf-8 -*- """ @Author: 偷来 ...

  6. [单调栈] 2018-2019 ACM-ICPC, China Multi-Provincial Collegiate Programming Contest-Maximum Element In A Stack

    题目:https://codeforces.com/gym/102222/problem/A Maximum Element In A Stack time limit per test 10.0 s ...

  7. 使用Jenkins与Docker持续集成与发布NetCore项目(实操篇)

    使用Jenkins与Docker持续集成与发布NetCore项目(教程一) 原文地址:https://www.cnblogs.com/Jackyye/p/12588182.html 基本环境 该教程的 ...

  8. command > /dev/null command > /dev/null 2>&1nohup command &> /dev/null的区别

    1.对以下命令进行依次区分 command 执行一条普通的命令 command > /dev/null   '>'表示将标准输出重定向 '>>'表示追加,/dev/null是一 ...

  9. 五、运算符的补充与if语句

    1.可变不可变类型 指:对前面所学类型做一个可变和不可变类型的分类 可变类型:值改变,ID不变,证明改的是原值,原值是可以被改变的 不可变类型:值改变,ID也变了,证明是产生新的值,压根没有改变原值, ...

  10. SVN: Cleanup failed update报错 文件被锁定lock办法,cleanup 失效报错。

    按照如下办法即可解决: 下载文件链接: https://pan.baidu.com/s/1Ump1BFihbX8izyAA4by5dA 提取码: ftsd 复制这段内容后打开百度网盘手机App,操作更 ...