精华内容
下载资源
问答
  • 都是我看过正要看的书,晾晾书架,希望对后来者也有一点作用,当年我也是浪费时间看了一些没有价值的书籍,颇为后悔,现将精华总结...  3:《TCP/IP协议及网络编程技术》 罗军舟等编着 清华大学出版社 国货上品,
  • 企业组织可以构建它们自己的组件,从第三方供应商购买组件。这些服务器端组件称作 Enterprise Bean,它们是 Enterprise JavaBean 容器中驻留的分布式对象,为分布在网络中的客户机提供远程服务。
  • 本书有光盘源码,适合那些具有一定C和C++语言基础,期望逐步加强网络编程能力或网络编程相关综合训练的计算机类专业以及网络应用相关专业学生和技术人员使用。教师可以根据课时要求选择讲授本书的章节。第1章 ...
  • 网络编程就就是编写程序使联网的两个(多个)设备(例如计算机)之间进行数据传输。Java语言网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍,...

    一、网络概述

      1.网络的概念和分类

      计算机网络是通过传输介质、通信设施和网络通信协议,把分散在不同地点的计算机设备互连起来,实现资源共享和数据传输的系统。网络编程就就是编写程序使联网的两个(或多个)设备(例如计算机)之间进行数据传输。Java语言对网络编程提供了良好的支持,通过其提供的接口我们可以很方便地进行网络编程。下面先对网络编程的一些基础知识进行介绍,最后给出使用Java语言进行网络编程的实例。

      按照地理覆盖范围,计算机网络可以分为局域网(LAN)、城域网(MAN)、广域网(WAN)。

      2.网络分层模型

           主要有2个:开放系统互联(OSI)参考模型、TCP/IP模型

      1)OSI参考模型的7个层次:

    • 物理层

      物理层处于OSI的最底层,是整个开放系统的基础。物理层涉及通信信道上传输的原始比特流(bits),它的功能主要是为数据端设备提供传送数据的通路以及传输数据。

    • 数据链路层

      数据链路层的主要任务是实现计算机网络中相邻节点之间的可靠传输,把原始的、有差错的物理传输线路加上数据链路协议以后,构成逻辑上可靠的数据链路。需要完成的功能有链路管理、成帧、差错控制以及流量控制等。其中成帧是对物理层的原始比特流进行界定,数据链路层也能够对帧的丢失进行处理。

    • 网络层

      网络层涉及源主机节点到目的主机节点之间可靠的网络传输,它需要完成的功能主要包括路由选择、网络寻址、流量控制、拥塞控制、网络互连等。

    • 传输层

      传输层起着承上启下的作用,涉及源端节点到目的端节点之间可靠的信息传输。传输层需要解决跨越网络连接的建立和释放,对底层不可靠的网络,建立连接时需要三次握手,释放连接时需要四次挥手。

    • 会话层和表示层

      会话层的主要功能是负责应用程序之间建立、维持和中断会话,同时也提供对设备和结点之间的会话控制,协调系统和服务之间的交流,并通过提供单工、半双工和全双工3种不同的通信方式,使系统和服务之间有序地进行通信。

      表示层关心所传输数据信息的格式定义,其主要功能是把应用层提供的信息变换为能够共同理解的形式,提供字符代码、数据格式、控制信息格式、加密等的统一表示。

    • 应用层

      应用层为OSI的最高层,是直接为应用进程提供服务的。其作用是在实现多个系统应用进程相互通信的同时,完成一系列业务处理所需的服务。

      2)传输协议/网络互联协议(TCP/IP)模型

      早期的TCP/IP模型时4层结构,后来借鉴OSI7层模型,将网络接口层划分为物理层和数据链路层,形成新的5层结构。

    • 网络接口层

      TCP/IP协议对网络接口层没有给出具体的描述,网络接口层对应着物理层和数据链路层。

    • 互联网层 ( IP层 )

      互联网层是整个TCP/IP协议栈的核心。它的功能是把分组发往目标网络或主机。同时,为了尽快地发送分组,可能需要沿不同的路径同时进行分组传递。因此,分组到达的顺序和发送的顺序可能不同,这就需要上层必须对分组进行排序。互联网层除了需要完成路由的功能外,也可以完成将不同类型的网络(异构网)互连的任务。除此之外,互联网层还需要完成拥塞控制的功能。  

    • 传输层 ( TCP层 )

      TCP层负责在应用进程之间建立端到端的连接和可靠通信,它只存在与端节点中。TCP层涉及两个协议,TCP和UDP。其中,TCP协议提供面向连接的服务,提供按字节流的有序、可靠传输,可以实现连接管理、差错控制、流量控制、拥塞控制等。UDP协议提供无连接的服务,用于不需要或无法实现面向连接的网络应用中。

    • 应用层

      应用层为Internet中的各种网络应用提供服务。

    二、IP地址介绍

      1.IP地址概述

      网络中的每台机器为一个节点(node)。大多数节点是计算机,但是打印机、路由器、网桥、网关、ATM机也都是节点。每个网络节点都有地址 (IP地址),这是用于唯一标识节点的一个字节序列。每个地址中的字节越多,可用的地址就越多,就可以有更多的设备同时连入网络。

      IP地址目前存在IPv4和IPv6两种标准。

      2.IP地址的组成和分类

      1)IP地址的组成

      IPv4采用点分四组或点分十进制表示,例如:165.195.130.107.点分四组表示法由四个用点分隔的十进制数组成,每个数字是一个非负整数,范围为[0,255],代表整个IP地址的四分之一。在很多情况下,我们更关注IPv4地址的二进制结构,例如点分四组表示的10.0.0.255,二进制表示为:00001010  00000000  00000000  11111111。

      IPv6地址的长度是128位,是IPv4地址长度的四倍,IPv6地址的传统表示方法是采用称为块或字段的四个十六进制数,这些被称为块或字段的数用冒号分隔,例如一个包含8个块的IPv6地址:5f05:2000:80ad:5800:0058:0800:2023:1d71。

      2)IP地址的分类

      IP地址包含网络地址和主机地址,网络地址决定可以分配的最大网络数,主机地址决定网络中可以存在的计算机的最大数量。

      IP地址的网络地址由互联网数字分配机构(IANA)统一分配,以确保IP地址的唯一性。IANA将IP地址分为A、B、C、D、E五类。

      

    • A类IP地址:第一组数字表示网络地址,其余三位表示主机地址,有效网络范围为1~126
    • B类IP地址:前二组数字表示网络地址,其余两位表示主机地址,有效网络范围为128~191
    • C类IP地址:第三组数字表示网络地址,其余一位表示主机地址,有效网络范围为192~223
    • D类IP地址:用于组播通信,不能在互联网上作为节点使用,第1个8位的范围为224~239
    • E类IP地址:用于科学研究的地址,不能在互联网上作为节点使用,第1个8位的范围为240~254
    • 0.0.0.0: 表示当前主机
    • 127.0.0.1:等效于localhost或本机IP,一般用于测试使用。例如:ping 127.0.0.1来测试本机TCP/IP是否正常。http://127.0.0.1:8080 等效 http://localhost:8080
    • 255.255.255.255:表示当前子网,一般用于向当前子网广播信息

      3)IP地址的配置和检测

      1)配置IP地址:控制面板-->本地连接-->属性-->勾选“Internet协议版本4(TCP/IPv4)”复选框,打开属性-->选中“使用下面的IP地址”,并输入IP地址、子网掩码和默认网关(你的网络中连接到其他网络的计算机或路由器)-->选中“使用下面的DNS服务器地址”并输入DNS地址-->点击确定。

      实际应用中,在配置局域网(支持DHCP服务)中计算机的IP地址时,为了避免人为输入产生地址冲突的错误,通常选中“自动获得IP地址”选项。

      2)使用DOS命令检测IP地址

    • windows下可以使用 ipconfig来查看本机IP地址、子网掩码、默认网关等信息,判断TCP/IP属性是否设置正确。

      

    • 使用  ping 命令测试网络是否通畅,检查故障原因。

      语法:ping 目标IP地址

      

      另外,可以ping默认网关的IP地址来检测连接是否通畅,ping某一远程计算机来测试是否可以与远程主机正常通信。

    三、网络相关的重要概念及作用

      1.网络编程

      网络编程的本质是两个设备之间的数据交换,当然,在计算机网络中,设备主要指计算机。数据传递本身没有多大的难度,不就是把一个设备中的数据发送给两外一个设备,然后接受另外一个设备反馈的数据。

      现在的网络编程基本上都是基于请求/响应方式的,也就是一个设备发送请求数据给另外一个,然后接收另一个设备的反馈。

      在网络编程中,发起连接程序,也就是发送第一次请求的程序,被称作客户端(Client),等待其他程序连接的程序被称作服务器(Server)。客户端程序可以在需要的时候启动,而服务器为了能够时刻相应连接,则需要一直启动。例如以打电话为例,首先拨号的人类似于客户端,接听电话的人必须保持电话畅通类似于服务器。

      连接一旦建立以后,就客户端和服务器端就可以进行数据传递了,而且两者的身份是等价的。

      2.端口

      为了在一台设备上可以运行多个程序,人为的设计了端口(Port)的概念,类似的例子是公司内部的分机号码。

      规定一个设备有216个,也就是65536个端口,每个端口对应一个唯一的程序。每个网络程序,无论是客户端还是服务器端,都对应一个或多个特定的端口号。由于0-1024之间多被操作系统占用,所以实际编程时一般采用1024以后的端口号。

      使用端口号,可以找到一台设备上唯一的一个程序。

      所以如果需要和某台计算机建立连接的话,只需要知道IP地址或域名即可,但是如果想和该台计算机上的某个程序交换数据的话,还必须知道该程序使用的端口号。

      同一台主机上,任何两个进程不能同时使用同一个端口。

      3.域名和DNS域名解析

      由于IP地址不方便记忆,所以有专门创造了域名(Domain Name)的概念,其实就是给IP取一个字符的名字,例如163.com、sina.com等。IP和域名之间存在一定的对应关系。如果把IP地址类比成身份证号的话,那么域名就是你的姓名。

      域名后缀一般分为国际域名和国内域名,常见的域名后缀有.com(商业组织)、.org(非盈利组织)、.gov(政府部门)、.net(网络服务商)、.edu(教研机构)、.pub(公共大众)、.cn(中国国家顶级域名)等。

      其实在网络中只能使用IP地址进行数据传输,所以在传输以前,需要把域名转换为IP,这个由称作DNS的服务器专门来完成域名解析。

      DNS域名解析过程如下图:

      

      4.网络服务器

      网络服务器通常指在网络环境下,具有较高计算能力,能够提供用户特殊服务功能的计算机。下面介绍几种常见的Web服务器:

    • Tomcat服务器

      目前最为流行的Tomcat服务器是Apache-Jarkarta开源项目中的一个子项目,是一个小型、轻量级的支持JSP和Servlet 技术的Web服务器,也是初学者学习开发JSP应用的首选。

    • Apache服务器

      Apache是目前世界上使用量排名第一的Web服务器软件。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、Windows、Linux系统平台上)以及它的可移植性等方面的优势。因为Apache是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。

      其他还有如WebLogic 服务器、WebSphere 服务器、JBoss服务器等服务器,也是使用的比较广泛的。

      5.网络通信协议  

      网络通信协议是为了在网络中不同的计算机之间进行通信而建立的规则、标准或约定的集合。它规定了网络通信时,数据必须采用的格式以及这些格式的意思。

      1)应用层:

    • HTTP(Hypertext Transfer Protocol 超文本传输协议,显示网页)

      http是应用层的协议,tcp/ip接受到数据之后通过htp协议来解析。HTTP 负责 web 服务器与 web 浏览器之间的通信。HTTP 用于从 web 客户端(浏览器)向 web 服务器发送请求,并从 web 服务器向 web 客户端返回内容(网页)。http协议中的报文结构很重要:

      • request message  首行,头部和主体 首行包括请求类型(get,head,post,put,delete),urL 和http版本
      • response 首行包括状态行,状态码(1XX, 2xx成功状态吗,3xx重定向状态吗,4xx:客户端状态吗,为请求到资源,5xx服务器端错误码,500内部错误),简短原因,http版本

      HTTP请求方法和响应状态码:

     
    • DNS(Domain Name System)域名系统
    • FTP(File Transfer Protocol)文件传输协议

      是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录。相比于HTTP,FTP协议要复杂得多。复杂的原因,是因为FTP协议要用到两个TCP连接,一个是命令链路,用来在FTP客户端与服务器之间传递命令;另一个是数据链路,用来上传或下载数据。FTP是基于TCP协议的,因此iptables防火墙设置中只需要放开指定端口(21 + PASV端口范围)的TCP协议即可。

    • SFTP(SSH File Transfer Protocol,和FTP不一样)安全文件传送协议

      安全文件传送协议。可以为传输文件提供一种安全的加密方法。sftp 与 ftp 有着几乎一样的语法和功能。SFTP为SSH的一部份,是一种传输文件到服务器的安全方式。在SSH软件包中,已经包含了一个叫作SFTP(Secure File Transfer Protocol)的安全文件传输子系统,SFTP本身没有单独的守护进程,它必须使用sshd守护进程(端口号默认是22)来完成相应的连接操作,所以从某种意义上来说,SFTP并不像一个服务器程序,而更像是一个客户端程序。SFTP同样是使用加密传输认证信息和传输的数据,所以,使用SFTP是非常安全的。但是,由于这种传输方式使用了加密/解密技术,所以传输效率比普通的FTP要低得多,如果您对网络安全性要求更高时,可以使用SFTP代替FTP。

    • SCP(Secure copy,based on SSH)SCP是智能网的核心部件,一般由小型机、高性能微机和大型实时高速数据库组成。

      scp就是secure copy,是用来进行远程文件复制的,并且整个复制过程是加密的。数据传输使用ssh,并且和使用和ssh相同的认证方式,提供相同的安全保证。

    • SSH (Secure Shell)

      由 IETF 的网络工作小组(Network Working Group)所制定;SSH 为建立在应用层和传输层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。 

      • SSH是由客户端和服务端的软件组成的:服务端是一个守护进程(daemon),他在后台运行并响应来自客户端的连接请求。服务端一般是sshd进程,提供了对远程连接的处理,一般包括公共密钥认证、密钥交换、对称密钥加密和非安全连接; 客户端包含ssh程序以及像scp(远程拷贝)、slogin(远程登陆)、sftp(安全文件传输)等其他的应用程序。
      • 从客户端来看,SSH提供两种级别的安全验证:第一种级别(基于口令的安全验证); 第二种级别(基于密匙的安全验证)。
      • SSH 主要有三部分组成: 传输层协议 [SSH-TRANS] ;用户认证协议 [SSH-USERAUTH] ;连接协议 [SSH-CONNECT]。

      2)通信层:

    • TCP/IP(Transmission Control Protocol/Internet Protocol 三次握手传输协议)

      用于计算机网络通信的协议集,即协议族。是internet最基本的协议,不依赖于任何特定的计算机硬件或操作系统,提供开放的协议标准。TCP/IP协议族包含诸如IP协议、TCP协议、UDP协议等诸多协议。

    • TCP协议(建立数据通道、无限制)

      TCP是面向连接的协议,TCP协议采用字节流传输数据,因此每个TCP连接都有3个阶段:连接建立、数据传送和连接释放。连接建立经历三个步骤,通常称为“三次握手”。

      TCP三次握手过程如下:

      

      

    1. 第一次握手
      客户机发送连接请求报文段到服务器,并进入SYN_SENT状态,等待服务器确认。(SYN = 1,seq=x)
    2. 第二次握手
      服务器收到连接请求报文,如果同意建立连接,向客户机发回确认报文段,并为该TCP连接分配TCP缓存和变量。(SYN=1,ACK=1,seq=y,ack=x+1)。
    3. 第三次握手
      客户机收到服务器的确认报文段后,向服务器给出确认报文段,并且也要给该连接分配缓存和变量。此包发送完毕,客户端和服务器进入ESTABLISHED(TCP连接成功)状态,完成三次握手。(ACK=1,seq=x+1,ack=y+1)。

      TCP四次挥手过程如下:

      

      由于TCP连接是全双工的,因此每个方向都必须单独进行关闭。这原则是当一方完成它的数据发送任务后就能发送一个FIN来终止这个方向的连接。收到一个 FIN只意味着这一方向上没有数据流动,一个TCP连接在收到一个FIN后仍能发送数据。首先进行关闭的一方将执行主动关闭,而另一方执行被动关闭。

    1. TCP客户端发送一个FIN,用来关闭客户到服务器的数据传送。
    2. 服务器收到这个FIN,它发回一个ACK,确认序号为收到的序号加1。和SYN一样,一个FIN将占用一个序号。
    3. 服务器关闭客户端的连接,发送一个FIN给客户端。
    4. 客户端发回ACK报文确认,并将确认序号设置为收到序号加1。
    • UDP协议(数据打包、有限制、无连接、效率高、不可靠)

      即用户数据报协议,是一个无连接协议,在传输数据之前,客户端和服务器并不建立连接和维护连接。UDP协议的主要作用是把网络通信的数据压缩成数据报的形式。

      

      从上图中可以看到,UDP协议十分简单,它由两部分组成:首部和数据。其中,首部仅有8个字节,包括源端口和目的端口,长度(UDP用于数据报的长度)、校验和。

      3)网络层:

    • IP(Internet Protocol)

      IP设计为允许任意两点之间有多个路由,可以绕过被破坏的路由器实现数据包的路由。由于两点间存在多个路由,并且两点间的最短路径可能由于网络业务流量或其他因素而随时间改变,所以构成某个特定数据流的包可能不会采用相同的路由。另外,即使它们全部到达,也可能不会以发送的顺序到达。

    • ICMP(Internet Control Message Protocol,主要用于路由发送错误报告)

      4)链接层:

    • MAC(media access control) 

     

    转载于:https://www.cnblogs.com/yutianbao/p/10705766.html

    展开全文
  • 本书有光盘源码,适合那些具有一定C和C++语言基础,期望逐步加强网络编程能力或网络编程相关综合训练的计算机类专业以及网络应用相关专业学生和技术人员使用。教师可以根据课时要求选择讲授本书的章节。第1章 ...
  • 报纸、杂志、网络都把嵌入式系统当作讨论的热门话题。 嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、体积、功耗...
  • TCP/IP协议与网络编程技术

    热门讨论 2010-03-12 17:09:10
    上篇主要介绍TCP/IP协议簇中的常用协议,下篇专门介绍网络编程知识与技能。 (2)具体在编写每一节的内容时将原理知识与实用技能融为一体。以方便读者学习。 (3)考虑到TCP/IP协议比较抽象,学习起来有一定的难度,...
  • 我们的需要、欲望和需求是在机器的帮助下大大增强,全球市场也是如此,因此被包裹在一个数字网络或社区。我们被淹没在技术与被包围的小...案例:www.fengshandai.com计算机编程的重要性 编程语言是一种正式语言, ...

    我们的需要、欲望和需求是在机器的帮助下大大增强,全球市场也是如此,因此被包裹在一个数字网络或社区。我们被淹没在技术与被包围的小工具-所有这些都是由编程或编码。没有卫星、电视、手机生活、证券交易所或机器学习和人工智能是难以想象的,因此具有良好技能的程序员始终处于需求。案例:www.fengshandai.com
    计算机编程的重要性  编程语言是一种正式语言, 它指定一组可用于生成各种输出的指令。让我们理解为什么编码是必要的。为了分析和解决一个问题, 人类提出了自己的算法--发现问题并找出解决方法 (即使用一组有限的输入来产生所需的输出)。  算机或机器能够处理相同的过程。它可以遵循指令并产生解决方案。只有一组指令需要借助编程语言来提供。 对于那里的所有技术专家来说,通过学习以下任何编程语言来囊括最好的工作。  Java  Java 在1991年发明的一种用于智能电视的编程语言, 但目前是900万多名开发人员使用最广泛的语言。TIOBE 编程社区已经指出, Java 是最常用的编程语言。  Android 平台和应用程序的最近出现, 使 Java 开发人员的需求激增。除了 Android 智能手机之外, Java 还在电视、atm、自动售货机和游戏控制台实现。由于这种面向对象的语言用于开发移动应用程序、视频游戏和各种服务器端应用程序, 因此它仍然是任何原生 Android 应用程序中最重要的元素之一。  C  这种面向结构的编程语言由Dennis Ritchie于1972年在贝尔实验室开发。 C语言的一些特性来源于B语言或基本组合编程语言-BCPL。  C语言是强大的编程语言之一。 它广泛用于在Linux,UNIX和Windows等操作系统上开发系统应用程序。 它也用于其他平台,如数据库系统,解释器,操作系统开发,文本编辑器,打印假脱机程序,图形包,电子表格,编译器和汇编程序,语言解释器,实用程序,文字处理器和网络驱动程序。  因此,您可以观察这种通用语言如何被用于这些不同领域。 C是最流行的语言,因为它的可靠性,可移植性,灵活性,交互性,模块性,效率和有效性等特性。 而且,许多成熟的程序员现在正转向C。  C++  C ++是一种基于C的通用编程语言,通常被称为C的后代或超集,开源语言基于面向对象编程系统或OOPS。 主要的软件解决方案,驱动程序和固件包都有C ++实现。 C ++具有高级和低级编程语言的特点。 因此,它被视为一种中级语言。 但是当谈到低级别,硬核编程时,C ++是首选。  C ++被用于超越游戏的复杂性,特别是3D。它还用于基于图形用户界面(GUI)的应用程序、Web浏览器、高级计算和图形、编译器、数据库软件、操作系统、企业软件解决方案以及高端CAD、CAM系统等应用程序。  Python  以Monty Python命名,这种高级编程语言创建于20世纪80年代。 这是一种非常简单的语言,语法简单,即使是初学者也能快速提取。 Python有几个用于构建Web应用程序的库。 该语言本身非常适合处理HTTP协议。 但是当你想要更多的时候,Flask,Pyramid和Django都是很好的选择。  Python被谷歌,雅虎和IBM等科技巨头所使用,同时也为Instagram,Reddit和Venmo等平台提供动力。 按照Coding Dojo的说法,来自Dice和Indeed网站的投入,Python在2017年成为最受欢迎的编程语言之一。  C#  由微软设计和开发的C#(发音为C-sharp)是一种面向对象的编程语言。 由.NET Framework支持的Microsoft应用程序需要C#执行。 顾名思义,这种语言是基于C和C ++的,所以如果你有C或C ++的基本知识,那么学习C#对你来说不应该太难。  在1亿个网站中,超过16%的网站由ASP.NET框架提供支持,这意味着为什么你必须学习C#。 考虑两个因素。 首先,C#是由微软开发的在他们的平台上开发应用程序的。 因此,微软将确保C#在未来的时间内相关并更新。 其次,C#通常是通过Unity Game引擎制作游戏时推荐的语言。 虚拟现实和独立游戏开发 - 两者都在这里逗留很长时间,并且由于Unity在这两个领域都发挥着重要作用,因此受过C#培训的专业人士拥有乐观的未来。  PHP  对于现代Web应用程序,PHP是最关键的编程语言。 由于它为几乎所有的全球在线系统提供了稳定性和强大的功能,因此使用这种语言。 这个开源软件很容易学习,因此也有很好的未来。  网络行业中的一些大公司如WordPress,雅虎,Twitter,Flickr和Facebook以及维基百科和苹果等公司都使用PHP,而一些程序员也喜欢使用PHP。 Stack Overflow的联合创始人Jeff Atwood曾经说过:“PHP与其说是一种语言,倒不如说是任意事物的随机集合,是关键字和函数工厂的虚拟爆炸。”  Visual Basic .NET (VB.NET)  这是一个Microsoft面向对象编程(OOP)语言。该语言是在VisualBasic 6(VB6)的基础上发展而来的,它是为了融合Web服务和Web开发的需要而创建的。 用比尔·盖茨的话来说,随着编程从DOS向基于Windows的编程转变,微软开发,部署和使用应用程序的方式将会压倒一切,而Visual Basic.NET将为构建这些解决方案奠定基础。  JavaScript  为什么学习JavaScript? 因为它在那里。案例:www.meihuadian.com,不要将它与Java混淆。 JavaScript是构建交互式网站的语言。 随着HTML和CSS,JavaScript是大多数浏览器实现JavaScript时必不可少的语言。 它的使用不仅限于前端和后端Web开发。 事实上,JavaScript被广泛用于游戏开发,桌面应用和移动应用开发。 它越来越受欢迎,需要一个优秀的JavaScript程序员。  Go  该开源编程语言用于以可靠,简单和高效的方式构建软件。 使用Go或GoLang编写的代码易于维护,因为它使用整洁干净的语法。 Go有goroutines,而Goroutines有可扩展的分段堆栈,它会在需要时使用更多的内存。 Go几乎和C / C ++一样高效,并且得到了Google的支持 - 所有正确的理由让我们现在了解它。  R  在R统计计算基金会的支持下,这种开放源码的编程语言和软件环境被用于统计计算和图形,因此通常被称为“Lingua Franca of Statistics”。  R是数据可视化、分析、机器学习和科学计算的重要工具。由于数据科学家的高度普及,R开发人员的需求将一直在增长。  Perl  Perl是一种稳定的,跨平台的,通用的,解释型的,动态的和高级的编程语言。 它是为文本操作而开发的,但现在主要用于Web开发,GUI开发,网络编程,系统管理等。 与C或C ++不同,Perl不会直接编译为与机器相关的格式。 Perl是一种开源软件,以其艺术许可证或GNU通用公共许可证(GPL)许可。  Swift  成为一名优秀的iOS和Mac OS应用程序开发人员与学习Swift成正比。 在Xcode的帮助下,Apple的Swift易于维护和使用,追踪错误变得更容易。 xCode在构建应用程序之前检查您的代码。 Swift使用自动引用计数(ARC),它实时管理和跟踪应用程序的内存使用情况。多片锯网站案例:www.xtkh.net 这些语言之所以能够在这份名单中脱颖而出,是因为它们的学习者数量在过去几年里大幅增加。 此外,微软,谷歌,苹果,雅虎,IBM,WordPress,Twitter和Flickr等大公司都实施了这些编程语言。 所有这一切意味着学习这些可以在那里为你腾出空间。

    展开全文
  • 通过JDBC可以使用Java应用程序Java applet访问网络上的各种数据库。本书首先介绍了JDBC的概念、结构和特点。然后逐步讲解了如何编写JDBC程序。最后给出了JDBC API的详细说明。附录中给出了JDBC的获取与安装的方法...
  • 本文以树莓派GPIO扩展接口连接LED发光为例,介绍中移OneNET物联网MQTT协议远程控制树莓派Python网络编程技术。以此为基础,结合当代人工智能及机器学习、边缘计算(Edge Computing)与微型人工智能(Tiny AI)等技术...

    树莓派英文名称Raspberry Pi中的Pi是Python的简称,这意味着Python是开发树莓派软硬件系统应用的主流编程语言。本文以树莓派GPIO扩展接口连接LED发光为例,介绍中移OneNET物联网MQTT协议远程控制树莓派Python网络编程技术。以此为基础,结合当代人工智能及机器学习、边缘计算(Edge Computing)与微型人工智能(Tiny AI)等技术可以实现多种智能物联网(AIoT)远程智能控制创新原型产品或应用系统。
    文章目录
    一、物联网平台简介
    二、树莓派GPIO扩展接口介绍
    三、树莓派控制LED发光Python编程实现
    1.树莓派GPIO扩展接口与LED连接
    2.树莓派控制LED发光Python实现举例
    四、使用网络调试助手模拟设备发送MQTT报文连接中移OneNET物联网测试
    五、中移OneNET物联网MQTT协议远程控制树莓派LED发光Python网络编程实现

    一、物联网平台简介
    根据物联网平台实现的功能进行划分,物联网平台包括DMP(Device Management Platform,设备管理平台)、CMP(Connectivity Management Platform,连接管理平台)、AEP(Application Enablement Platform,应用使能平台)和BAP(Business Analytics Platform)。物联网平台将通过所提供的高级分析和深度学习技术能力,来满足物联网发展的各项高阶需求。
    国内的物联网平台有中国移动物联网开放平台(OneNET)、中国电信物联网开放平台、华为OceanConnect IoT、百度物联网、阿里物联网等。国外的物联网平台有Amazon AWS IoT、Microsoft Azure IoT、Cisco Jasper、IBM Watson IoT等。截止目前,还没有一家物联网平台公司能够提供从智能终端管理、连接管理到应用开发、数据分析的完整全套服务。每家物联网平台提供商都有各自专注的领域和特色优势。
    1.中移物联网开放平台(OneNET)
    中国移动物联网开放平台(OneNET)是中移物联网公司基于物联网技术和产业特点打造的开放平台和生态环境,适配各种网络环境和协议类型,支持多种传感器和智能硬件的快速接入和边缘计算及大数据服务,提供丰富的API和应用模板以支持各类行业应用和智能硬件研发,能够有效降低物联网应用开发和部署成本,满足物联网领域设备连接、协议适配、数据存储、数据安全、大数据分析等平台级服务需求。
    2.华为OceanConnect物联网平台
    华为OceanConnect物联网平台是一种物联网连接管理平台,它是面向运营商和企业/行业领域的统一开放云平台,支持SIM和非SIM场景的各种连接和连接管理通过开放的API和独有的Agent,向上集成各种行业应用,向下接入各种传感器、智能终端和网关,帮助运营商和企业/行业客户实现多种行业智能终端的快速接入,多种行业应用的快速集成。
    二、树莓派GPIO扩展接口介绍
    嵌入式系统开发板都设计有GPIO扩展接口,GPIO是通用输入输出接口General Purpose Input and Output的简称。通俗地说,GPIO就是一些引脚,我们可以通过对嵌入式系统编程使这些引脚输出高低电平或者通过它们读入引脚状态(高电平或者是低电平)。我们可以利用GPIO连接并增加各种电子设备,包括扩展自行设计的各种硬件设备、智能硬件、电子电路等。
    目前主流的树莓派3/4主控板GPIO扩展接口共有40个引脚,图1是树莓派3B GPIO引脚排列及编号对照情况。
    在这里插入图片描述
    图1 树莓派3B GPIO引脚排列及编号对照
    下面对图1的GPIO引脚及编号做简要说明,树莓派GPIO引脚是数字引脚,可以将它的输出设为高电平或低电平,或者通过它读取输入的高低电平。如果想读取模拟输入设备的值,需要外接ADC芯片。树莓派GPIO引脚编码有三种方式:
    (1) BOARD编码:是根据板子上引脚的位置进行编号,自上而下,从左到右,依次进行编号,也称为物理引脚(Physical pins);
    (2) BCM编码:是Broadcom提供的一种编码规则,它和Broadcom ARM SoC片上系统中的信道编号相对应,这些编码看起来没有什么规律,是Python等GPIO编程常用的引脚编码方式;
    (3) wiringPi编码:是GNU gcc/g++等GPIO编程常用的引脚编码方式,简称wPi。
    三、树莓派控制LED发光Python编程实现
    1.树莓派GPIO扩展接口与LED连接
    在这里插入图片描述
    图2 树莓派GPIO引脚与LED连接原理图及接线图
    树莓派GPIO引脚与LED连接原理图及接线图见图2所示。图2左侧为原理图,右侧为树莓派GPIO与LED接线图,树莓派GPIO扩展接口与LED连接可以有两种方式:图2(a)为GPIO扩展接口与LED连接方式1,该连接方式是将发光二极管LED与电阻串联后,一端接Pin12物理引脚(BCM GPIO18),另一端接Pin06物理引脚(即接地GND),注意LED两个长短引脚端要按图中的标识进行连接,不要接反;图2(b)为GPIO扩展接口与LED连接方式2,该连接方式是将发光二极管LED与电阻串联后,一端接Pin01物理引脚(即接3.3V电源),另一端接Pin12物理引脚(BCM GPIO18),同样注意LED两个长短引脚端要按图中的标识进行连接,不要接反。根据图1中的树莓派GPIO引脚排列及编号对照可知,Pin12物理引脚对应的BCM编号为18、wiringPi编码为1。
    关于限流电阻的选取:以图2(a)的GPIO与LED连接方式1为例进行说明,发光二极管选用直径为5mm的红色LED,LED正向导通电压一般在1.7V~2.2V之间,LED发光亮度可根据GPIO引脚驱动电流公式I≈(VH-1.8V)/R近似选取,式中 VH ≈3.3V为GPIO引脚高电平电压,1.8V为LED正向导通时的额定电压,注意树莓派GPIO引脚最大驱动电流不超过16mA(在实际应用中,若负载较大需要增设驱动电路);R为限流电阻,其值越小LED亮度越暗,这里限流电阻选用了1kΩ电阻,如果想增大LED亮度还可选用680Ω、510Ω、220Ω等标称电阻。树莓派Pin12物理引脚(BCM GPIO 18)、Pin6物理引脚(GND)与1kΩ限流电阻及LED通过三根两端为母插头的杜邦线直接串联,这样可以省掉使用面包板接线。
    2.树莓派控制LED发光Python实现举例
    例:采用图2(a)的树莓派GPIO与LED连接方式1,Python控制LED闪亮发光,当程序运行后LED闪亮10次结束。
    Python控制LED闪亮10次程序清单如下:

    #Filename: ledblink.py
    import RPi.GPIO as GPIO
    from time import sleep   #import time
    GPIO.setmode(GPIO.BOARD)  # BCM Coding: GPIO.setmode(GPIO.BCM)
    GPIO_IN=12  #BCM Coding: GPIO_IN=18
    GPIO.setup(GPIO_IN, GPIO.OUT)
    for i in range(0,10):
        GPIO.output(GPIO_IN, GPIO.HIGH)  #LED on
        sleep(1)             #time.sleep(1)
        GPIO.output(GPIO_IN, GPIO.LOW)  #LED off
        sleep(1)             #time.sleep(1)
    GPIO.cleanup()
    

    关键语句注解:使用Python对GPIO扩展口连接的输入/输出设备进行程控,需要用到名为RPi.GPIO的第三方扩展包; GPIO.setmode(GPIO.BOARD)设置采用物理引脚的BOARD编码,若采用BCM编码本句改为GPIO.setmode(GPIO.BCM); GPIO_IN=12 (物理引脚Pin12),若采用BCM编码本句改为GPIO_IN=18;GPIO.setup(GPIO_IN, GPIO.OUT)将Pin12引脚设置为输出;GPIO.output(GPIO_IN, GPIO.HIGH)向Pin12输出脚输出低电平,点亮LED灯; GPIO.output(GPIO_IN, GPIO.LOW) 向Pin12输出脚输出低电平,熄灭 LED灯。
    四、使用网络调试助手发送MQTT报文连接中移OneNET物联网测试
    1.中移OneNET物联网设备通信协议与产品开发流程
    中移OneNET物联网为用户提供了HTTP、TCP透传、Modbus、EDP(Enhanced Device Protocol)、MQTT(Message Queuing Telemetry Transport)、RTMP(Real Time Message Protocol)等设备接入通信协议,用户可根据应用需求选择合适的通信协议进行开发。
    OneNET物联网开发者按照【用户注册】→【创建产品】→【接入设备】→【开发应用】→【上传发布】流程进行产品开发。用户在OneNET物联网平台上完成用户注册和创建产品后,后续的设备开发和应用对接的所有操作均在用户所创建的产品上进行。硬件接入是实现开发者实际的终端设备在OneNET物联网平台上的创建、连接和数据交互,而开发应用是通过RESTful API方式实现和OneNET物联网平台进行交互对接。
    2. 使用网络调试助手模拟设备发送MQTT报文连接OneNET物联网测试
    在浏览器输入OneNET网址https://open.iot.10086.cn/进入中移OneNET物联网,完成在OneNET物联网云平台的用户注册。完成用户注册后,以创建的用户名及密码登录OneNET物联网平台创建一个【多协议接入服务】的产品和设备,具体操作步骤:进入OneNET网址[https://open.iot.10086.cn/]登录后,依次选择【产品服务】→【MQTT物联网套件】(使用MQTT也可直接输入网址[https://open.iot.10086.cn/productservice/mqttkit/],选择【产品服务】→【MQTT物联网套件】);单击【立即使用】,弹出“公开协议产品列表页面”,在该页面单击【多协议接入服务】→【添加产品】,后面按页面提示说明完成产品添加,图3是添加一个产品且后面要用到的产品详情部分信息截图,可知这里创建产品名称是my_rpicontrol,产品ID是392911,设备接入采用MQTT协议。
    在这里插入图片描述
    图3 产品详情部分信息截图
    【添加产品】完成后,接下来单击【添加设备】弹出“添加新设备”编辑对话框页面,按照页面提示说明填写“设备名称”(这里填写Device_1)、 “鉴权信息”(可看成是设备密码, 为后面使用方便起见,这里直接填写ABC12345)等,点击【添加】按钮完成设备添加。图4是在产品my_rpicontrol中添加一个设备且后面要用到的设备详情部分信息截图,可知设备ID是659133593,鉴权信息是ABC12345,接入方式是前面创建产品自动生成的MQTT协议。由于还没有连接设备到OneNET,因此Device_1设备显示为“离线”状态。
    在这里插入图片描述
    图4 设备详情部分信息截图
    产品和设备创建成功后,接下来,我们可以使用网络调试助手模拟设备Device_1向中移OneNET物联网发送MQTT连接报文。首先,从http://www.cmsoft.cn/resource/102.html等网站下载网络调试助手;然后执行网络调试助手程序模拟设备Device_1向OneNET发送MQTT连接报文,并在OneNET查看设备Device_1离线/在线状态。
    OneNET物联网MQTT服务器IP地址和端口号为183.230.40.39: 6002。要连接要到OneNET的设备是一个三元组(设备ID, 产品ID, 密码),其中,密码即鉴权信息,可以选用设备单独的APIKey或产品的MasterAPIKey。
    根据前面创建的my_rpicontrol产品(图3)和Device_1设备(图4),Device_1三元组信息如下:
    设备ID (客户端ID):659133593,其对应的HEX ASCII码为36 35 39 31 33 33 35 39 33;
    产品ID (用户名):392911, 其对应的HEX ASCII码为33 39 32 39 31 31;
    密码(鉴权信息):ABC12345,其对应的HEX ASCII码为41 42 43 31 32 33 34 35(这里使用设备单独的APIKey,也可用所创建产品的MasterAPIKey)。
    设备Device_1向OneNET发送的MQTT连接报文命令HEX(十六进制)编码格式如下:
    10 27 00 04 4D 51 54 54 04 C2 00 78 00 09 设备ID 00 06 产品ID 00 08 密码
    将Device_1设备ID、产品ID及密码所对应的HEX ASCII码填入以上MQTT连接报文格式中,可知Device_1设备向OneNET发送的十六进制MQTT连接报文命令编码为:
    10 27 00 04 4D 51 54 54 04 C2 00 78 00 09 36 35 39 31 33 33 35 39 33 00 06 33 39 32 39 31 31 00 08 41 42 43 31 32 33 34 35
    运行网络调试助手程序,网络设置:(1)协议类型选取TCP Client,(2)远程主机地址设置为OneNET MQTT服务器IP地址183.230.40.39,(3)远程主机端口设置为6002;发送设置选取HEX;复制以上MQTT连接报文命令粘贴到网络调试助手的【发送数据区】,依次单击【连接】按钮和【发送】按钮后,网络调试助手显示窗口见图5所示。
    在这里插入图片描述
    图5 网络调试助手向OneNET发送MQTT连接报文
    接着,在OneNET“多协议接入”页面单击【设备列表】,选取Device_1的【详情】,可以看到Device_1设备显示为“在线”状态(见图6)。
    在这里插入图片描述
    图6 Device_1设备状态显示
    经过上面系列操作,我们完成了使用网络调试助手模拟设备Device_1向中移OneNET物联网发送MQTT连接报文的测试,模拟设备Device_1成功连接到了OneNET。
    五、OneNET物联网MQTT协议远程控制树莓派LED发光Python网络编程实现
    前面介绍了使用网络调试助手模拟Device_1设备向中移OneNET物联网发送MQTT连接报文的测试,接下来通过无线WiFi将树莓派物理设备连接到OneNET物联网,树莓派设备名还是Device_1,这样不用再添加新设备。树莓派GPIO扩展接口+外接LED发光电路作为Device_1设备的原理图及其对应实际物理连接见图7所示(图7左侧为Device_1设备原理图,图7右侧为Device_1实际硬件设备)。
    在这里插入图片描述
    图7 树莓派GPIO扩展接口外接LED发光电路作为Device_1设备
    针对图7中的树莓派设备Device_1,采用OneNET物联网MQTT协议远程控制树莓派设备Device_1中LED发光的Python网络程序清单见图8所示。在这里插入图片描述
    图8 OneNET物联网MQTT协议远程控制树莓派设备的LED发光Python程序
    图8的Python程序文件名为onenet_iot.py,程序设置的MQTT网络参数如下:
    (1) host_ip=‘183.230.40.39’:中移物联网OneNET提供的MQTT服务器IP地址
    (2) port_no=6002:中移物联网OneNET提供的MQTT端口号
    (3) product_id=‘392911’:用户名或产品ID,这里设置为my_rpicontrol产品ID
    (4) mqtt_psw=‘ABC12345’:设备单独的APIKey或产品的MasterAPIKey,这里设置为Device_1设备APIKey
    (5) device_id=‘659133593’:设备ID,这里设置为Device_1设备ID
    Python程序使用了第三方MQTT 客户端库paho-mqtt。paho-mqtt是目前 Python 中使用较多的 MQTT 客户端库,它为Python 3.x客户端类提供了对MQTT v3.1.1的支持。在树莓派Linux终端,使用pip install命令安装paho-mqtt库(见图9)。
    在这里插入图片描述
    图9 使用pip install命令安装paho-mqtt库
    paho-mqtt库安装成功后,在树莓派Linux终端输入python onenet_iot.py命令执行Pyhton网络程序,选择OneNET“多协议接入”中的【下发命令】,在编辑框输入“开灯”命令并单击【发送】命令按钮(见图10),此时,可看到图7右侧的树莓派设备中的LED灯被点亮,同时在树莓派Linux终端显示接收到的“开灯”字符串信息(见图11)。
    在这里插入图片描述
    图 10 使用OneNET“多协议接入”中的【下发命令】发送“开灯"命令
    在这里插入图片描述
    图11 树莓派Linux终端接收、显示来自OneNET的“开灯”命令字符串
    在这里插入图片描述
    图12 树莓派Linux终端显示从OneNET接收到的“结束”命令字符串
    接着,再在OneNET“多协议接入”中的【下发命令】编辑框中输入“关灯”命令并单击【发送】命令按钮,此时,图7右侧的树莓派设备中的LED灯熄灭;最后,在OneNET“多协议接入”中的【下发命令】编辑框输入“结束”命令并单击【发送】命令按钮,程序执行结束,此时,树莓派Linux终端显示接收到的字符串信息见图12所示。
    到此为止,我们就实现了采用Python网络编程和OneNET物联网MQTT协议远程控制树莓派LED发光的应用。以此为基础,结合当代人工智能及机器学习、边缘计算(Edge Computing)与微型人工智能(Tiny AI)等技术可以实现多种智能物联网(AIoT)远程智能控制创新原型产品或应用系统。
    (Email联系:yuanzywhu@163.com)
    发布日期:2020年12月20日

    展开全文
  • 来自网络 开发者技术前线 编辑:可可近日,传华为即将发布国产自主编程语言——“仓颉”,软件摆脱美国控制。美国在编程语言方面具有绝对的优势,美国能禁止编程语言或编译器对我国授权吗?唯一能...

    来自网络 开发者技术前线  编辑:可可

    近日,传华为即将发布国产自主编程语言——“仓颉”,软件摆脱美国控制。

    美国在编程语言方面具有绝对的优势,美国能禁止编程语言或编译器对我国授权吗?

    唯一能约束一种编程语言的就是专利,但C语言等目前并不受任何专利约束。Bell实验室最早实现了C语言和Unix,但是它们未能通过专利的力量阻止其他平台上C语言的实现和使用,未能阻止BSD和GNU的出现,未能阻止Unix大战,使得最后正统意义的Unix不复存在。后来从开源社区诞生的语言比如Python、Ruby、PHP、Go等,原本就不受专利约束,任何人都能自己实现它。

    当然,仍然受专利约束的编程语言是存在的。比如,Java在Oracle的手上,仍受专利约束,所以才有了旷日持久的Oracle诉Google案。如果发生新冷战,我们到时候可能不能合法地使用Java了,像C#、Delphi、VBA等由商业公司创制的编程语言可能也将不能使用,只要他们随便在专利或者授权上找一个把柄就可以了。x86、ARM指令集也是受专利保护的,这就使得这些处理器的汇编语言也有可能不能合法使用。

    美国对华为的极限打压已经进入软件层面。光刻机是芯片制造的精髓,而EDA软件是芯片设计的灵魂。海思麒麟芯片的成本包含了研发投入、EDA软件费用、ARM授权费用、台积电制造费用、以及一系列专利费用。

    美国的技术封锁逼得华为成为微软谷歌一样的角色,既得推出自己的鸿蒙系统,还得拥有自己的编程语言。可喜的是,鸿蒙2.0马上要来了,HMS Core、方舟编译器和运行环境已经有APP开始支持。

    又一好消息,华为即将发布国产“仓颉”编程语言,补齐软件核心短板。华为将自主编程语言命名为“仓颉”是有讲究的。

    仓颉,世人说他“龙颜四目,生有睿德”。在历史传说中,仓颉被认为是中国原始象形文字的创造者。正是他所创造的文字,在经过几千年发展之后,最终演化成为现在的汉字。有了“仓颉”,EDA软件短缺的难题应该也能顺势解决,华为太棒了!要知道,网上的曝光可能是真的,也可能是自媒体谣传。不管怎样,在官方没有否认或者没有公布之前,这些都无法证实或证伪。

    华为自主的科技知识产权仓颉并非空穴来风,只是目前而言,只是已经注册占位,还处于未公开状态。而分类上,也和大家以为的计算机技术相去甚远。

    目前华为自家的仓颉产品,有三类:一类是网站服务;一类是运输工具;最后一类是科学仪器。瞧这三款同名的知识产权,怎么也不像是计算机编程语言。这可能是我们外行的错觉,其实如果编程语言是真的,那就是属于科学仪器这个分类的,是真的仓颉编程语言。要知道,华为推出过的ARK OS这些编译器和操作系统,都是属于科学仪器分类的。

    而现在,就剩下网站服务和运输工具了,乍一看有点风马牛不相及。如果说网站服务还和计算机技术有点关系的话,那么运输工具又是什么鬼?这就和IT有点相去甚远了吧。我们可以想象一下,编程语言用于网站服务方面,可能属于Web端,也就是可以进行Web开发和后端开发。而现在我们已经进入人工智能物联网时代了,是不是以后构建无人机、无人驾驶、智能交通这些新物种的技术项目,需要用的就是这款新的编程语言呢?

    上面这些,是我们目前能获取的资讯。我们国人一直在奋力发展国产计算机技术。看好我们国产的科技发展,但同时也保持清醒,对华为和编程语言等技术方面也表达了自己的担忧和疑惑。毕竟一款编程语言如同一款操作系统一样,需要各种软硬件生态来适配来丰富完善。即便强大如华为,推出来一款编程语言,依然需要开源给大众,依然需要商业助推,这样才会在技术开发者和大众市场群体的应用中变得更完善,更能加快补齐短板。

    如果现在华为推出一款国产全新编程语言,那么也要大家接受、学习和开发使用,更重要的是,作为新生事物,它要融入编程语言行列,要用新语言开发出实实在在的产品或内核,就要全球技术领域人群的认可接受,另外就是往大众群体和学生爱好者群体渗透和普及,这需要一个过程。

    如果搭载鸿蒙的手机发布,并推动手机应用开发者加入,那么配合新的开发语言,又将提供一大批岗位,其实利好开发者!大厂需要华为生态渠道,客户端岗位需求会激增。

    ---END---

    最近热文:一周内B站疯转5.6W次,好东西呀!《最受欢迎的女友职业排行榜Top10》
    史上首例!程序员写的代码,被国家博物馆收藏了!
    程序员常用工具和网站集合(建议收藏)LeetCode1-20题汇总,速度收藏!
    限时加入!程序员读者微信群,先到先得!
    
    
    
    2T技术资源大放送!包括但不限于:C/C++,Linux,Python,Java,人工智能,考研,软考,英语,等等。在公众号内回复「资源」,即可免费获取!回复「社群」,可以邀请你加入读者群!
    
    
    
    关注回复【送书】赠送3本好书
    

    点个在看少个 bug ????

    展开全文
  • 网络编程之WebService

    2021-01-26 19:53:29
    网络编程四 一、网络编程之WebService 1.WebService Web Service是一个平台独立的,低耦合的,自包含的、基于可编程的web的应用 程序,可使用开放的XML(标准通用标记语言下的一个子集)标准来描述、发布、发现、 ...
  • 网络编程技术与实例>>

    热门讨论 2008-08-22 21:09:13
    本书全面、详细地介绍了JSP(Java Server Pages)网络开发技术的原理和基础编程知识,不仅包括JSP开发环境的配置、JSP的基本语法、JSP的隐藏对象等内容,还包括JSP的高级开发技术、数据库编程、Struts开发等内容。...
  • 大连大有吴涛易语言软件开发有限公司的“易语言汉语编程环境”以软件自主开了一款全中文、全可视、跨平台的编程语言,在易语言及其编译器的设计与实现、可视化汉语编程的构建、提供多种语言版本等方面具有创新,在...
  • 初学者该如何选择编程语言呢?

    千次阅读 2016-11-15 17:03:46
    互联网大热,随之对技术、程序员的需求也是很大,因此,很多大学生想转行从事计算机编程工作,但市场上编程语言众多,我们该选择哪种语言呢?今天我们大圣众包小编根据网络资源从多个角度分析该选择哪个语言! ...
  • Sckt编程 摘要:TCP/P网络环境下的应用程序是通过网络系统编程接口socke实现的本文以C++buide为编程语言说明了在Widws下基于SOKE的网络编程原理和实现技术 关键词:C++builde套接字socket;客户机/服务器) 一概述 网络...
  • 前端开发必不可少,什么是异步编程由于javascript语言是一门“单线程”的语言,所以,javascript就像一条流水线,仅仅是一条流水线而已,要么加工,要么包装,不能同时进行多个任务和流程。而作为前端开发,在面试与...
  • 作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的...
  • JAVA编程技术

    2011-11-25 20:42:39
    本书是一本适合大专本科院校学生学习Java语言以及编写Java应用程序的实用型教科书教学参考书,主要阐述了Java语言的关键字、语句、语法规则、类库等的使用方法,其内容主要包括Java语言开发工具的介绍、面向对象...
  • download:Socket网络编程进阶与实战 Socket对于每个工程师的重要性不言而喻。本课程将理论结合实践,带你从零开始,系统学习Socket编程技术,让Socket的学习不再那么零散与难以掌握,同时会提炼出Socket网络传输的...
  • Windows网络编程第二版

    2010-08-13 13:03:32
    作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的...
  • 作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的...
  • 作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的...
  • Java语言是SUN公司开发的一种编程语言。 1.1 Java语言产生和发展的背景  Java语言源于Oak语言,这是SUN公司在一项消费性电子产品软件发展方案中采用的语言。Oak的设计目标是用以开发可靠、紧凑、易于移植的分布式...
  • 作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的...
  • 作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的...
  • 报纸、杂志、网络都把嵌入式系统当作讨论的热门话题。  嵌入式系统一般指非PC系统,有计算机功能但又不称之为计算机的设备器材。它是以应用为中心,软硬件可裁减的,适应应用系统对功能、可靠性、成本、...
  • 作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的...
  • 作为更新的编程指南,本书着重于Windows XP中革新的联网特性,同时包含了对C#编程语言的支持。本书还介绍了最新的网际协议:IPv4和IPv6,以及可靠IP多播协议。书中用大量的实例详细地描述了Microsoft网络API函数的...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 960
精华内容 384
关键字:

网络编程语言或技术