网络编程01---计算机网络基础

1.为什么要学习网络编程

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

  • 几乎所有应用都需要用到网络,比如QQ、微博、网易新闻、优酷、百度地图
  • 只有通过网络跟外界进行数据交互、数据更新,应用才能保持新鲜、活力
  • 如果没有了网络,也就缺少了数据变化,无论外观多么华丽,终将变成一潭死水

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

  • 新闻:网易新闻、新浪新闻、搜狐新闻、腾讯新闻
  • 视频:优酷、百度视频、搜狐视频、爱奇艺视频
  • 音乐:QQ音乐、百度音乐、酷狗音乐、酷我音乐
  • LBS:百度地图、高德地图、大众点评、墨迹天气、滴滴打车
  • 电商:淘宝、京东商城、天猫、蘑菇街、凡客诚品、美丽说
  • 社交:QQ、微信、微博、陌陌、比邻

为什么要学习网络编程

  1. 网络编程是一种实时更新应用数据的常用手段
  2. 网络编程是开发优秀网络应用的前提和基础

2.网络编程示例

3.网络编程基本概念

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

  • 客户端(Client):移动应用(iOS、android等应用)
  • 服务器(Server):为客户端提供服务、提供数据、提供资源的机器
  • 请求(Request):客户端向服务器索取数据的一种行为
  • 响应(Response):服务器对客户端的请求做出的反应,一般指返回数据给客户端

客户端和服务器的交互过程

4.什么是服务器

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

1.远程服务器

  • 别名:外网服务器、正式服务器
  • 使用阶段:应用上线后使用的服务器
  • 使用人群:供全体用户使用
  • 速度:取决于服务器的性能、用户的网速

2.本地服务器

  • 别名:内网服务器、测试服务器
  • 使用阶段:应用处于开发、测试阶段使用的服务器
  • 使用人群:仅供公司内部的开发人员、测试人员使用
  • 速度:由于是局域网,所以速度飞快,有助于提高开发测试效率

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-07 04:43:58

网络编程01---计算机网络基础的相关文章

Unix网络编程 之 socket基础

基本结构 (这部分的地址均为网络地址<网络字节序>) 1.struct sockaddr:通用套接字地址结构 此结构用于存储通用套接字地址. 数据结构定义: typedef unsigned short sa_family_t; struct sockaddr { sa_family_t sa_family; /* address family, AF_xxx */ char sa_data[14]; /* 14 bytes of protocol address */ };    sa_fa

socket网络编程的一些基础知识

源地址:http://blog.csdn.net/roger_77/article/details/1453049 目录: 1) 什么是套接字? 2) Internet 套接字的两种类型 3) 网络理论 4) 结构体 5) 本机转换 6) IP 地址和如何处理它们 7) socket()函数 8) bind()函数 9) connect()函数 10) listen()函数 11) accept()函数 12) send()和recv()函数 13) sendto()和recvfrom()函数 

【C++】 网络编程 01

趁着计算机网络这门课布置了课程设计,学习下网络编程. 系统:Ubuntu 14.01... 1. 关于Socket(套接字) 1.1 套接字是存在于运输层和应用层间的抽象层,通过它来区分不同应用程序进程间的网络通信和连接. 其主要包含3个参数:通信的目的IP地址.使用的传输层协议(TCP或UDP)和使用的端口号. 1.2 套接字的通信流程: 1.3 socket()函数: int socket(int domain, int type, int protocol); 其中: domain为创建的

[网络编程]epoll的基础用法

select和epoll都是提供多路I/O复用的手段,以前我在学习网络编程过程中只使用过select(主要是学习的<UNIX网络编程这本书>),后来才知道还有一种算是更高效的I/O复用的方法叫做epoll,于是今天照着网上的教程撸了一遍代码先了解一下epoll的使用,下面记录一下今天学习过程中我觉得还蛮重要的点. 参考的博客:http://blog.csdn.net/ljx0305/article/details/4065058 1.select和epoll 首先是select和epoll方式

从零探索Java网络编程01之 TCP/IP 与 Socket

最近完成了几项比较简单的项目, 日子有些松散, 终于是在996里偷了点闲暇时光, 想着来研究研究些啥吧?  一个普通的控制台日志映入了我的眼帘(孽缘呀): (图中使用 SpringBoot 的 log4j 来输出日志, logginglevel: debug, jdk版本为1.8) 造成这种现象的原因可能是, Mybatis在执行接口方法时, 实例化了多个Preparedstatement, 启用了不同的NIO线程, 但是其中, 咦?! 没错, NIO中出了一段IO!!! (天哪!), 在查询网

shell编程01—shell基础

01.学习shell编程需要的知识储备 1.vi.vim编辑器的命令,vimrc设置 2.命令基础,100多个命令 3.基础.高端的网络服务,nfs,rsync,inotify,lanmp,sersync,sshkey批量分发管理 02.shell脚本概念 1.什么是shell shell是一个命令解释器,在操作系统的最外层,负责直接与用户对话,将用户的输入解释给操作系统,并输出操作系统各种各样的处理结果,输出到屏幕返回给用户.这种对话方式可与是交互式的(键盘输入命令,可以立即得到shell的回

python 网络编程01

一.理解TCP基础 1.寻址 TCP要能识别远程的机器,基于TCP/IP网络的每台机器都有一个唯一的IP地址.(ip) TCP需要知道与远程机器上运行的哪个程序通信,每个程序要使用一个唯一的端口号.(port) 因此,每个TCP连接的端点是由一个IP地址和一个端口号来唯一标识.(ip:port) 虽然有IP和端口号,TCP就能很好的工作,但是记住一串数字比较困难,由于这个原因出现了DNS. 现在想要和远程机器建立连接,可以申请连接该机器IP地址相对应的DNS(如:www.baidu.com),

8-2高级基础总结 多线程,网络编程,Java基础补充

一个程序在运行的过程中就产生一个进程,一个进程有可能会使用到一个到多个线程,而Java中经常会使用到多线程,比如debug.每一次调用方法都会使用到多线程.Java中可以用Thread 的子类来创建一个线程,然后子类里面的run方法来执行我们所要编程的代码.也可以直接在匿名子类中创建并override run方法. synchronized同步锁机制.一个对象只有一把锁,同一时刻只能一个线程持有这把锁. 非静态同步方法申请的锁是类的当前对象的锁,静态同步方法申请的锁是类的Class对象的锁.同步

【网络编程】Socket基础

Socket 通常称为“套接字”.Socket字面上的中文意思为“插座”.一台服务器可能会提供很多服务,每种服务对应一个Socket(也可以这么说,每个 Socket就是一个插座,客户若是需要哪种服务,就将插头插到相应的插座上面),而客户的“插头”也是一个Socket.Socket是应用层与 TCP/IP协议族通信的中间软件抽象层,它是一组接口.Socket把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接 口就是全部,让Socket去组织数据,以符合指定的协议.So

并发编程(01)--多线程基础

1.关于多线程 1.1 线程与进程的区别 进程:系统中每一个正在运行的程序都是一个进程,每一个进程执行都有一个执行顺序,该顺序是一个执行路径,或者叫一个控制单元 线程:是一组指令的集合,控制着进程的执行,一个进程中至少有一个线程 1.2 为什么用多线程 使用多线程可以将执行时间长的程序中的任务放到后台去处理,在一些需要等待的任务上如文件读写.网络分发数据等,使用多线程就可以更好的利用CPU的资源,从而提高程序运行的效率 2. 线程的状态 线程有5种状态:新建.就绪.运行.阻塞.死亡,如下图所示: