Java中的HTTP通信

Java中的HTTP通信
Java中的HTTP通信

通过HTTP请求Get获取网络数据: 网络端(get.php):

TestHttpGet.java:

使用HTTP请求post方式向网络请求数据: 网络端(post.php):

TestHttpPost.java:

网络端:

TestHttpClientGet.java:

使用HTTPclient发送post请求:

java串口编程,java串口通信,监听者模式解析

java调用coms端口串口通信的方法。 首先需要下到串口驱动。javacomm20-win32.zip 去sun的主页应该有下的。 在这个驱动中有comm.jar,https://www.360docs.net/doc/238414773.html,m.properties,win32com.dll 这么3个重要的文件。 1、首先配置驱动,把https://www.360docs.net/doc/238414773.html,m.properties,win32com.dll拷贝到你的jdk 中 具体位置为C:\Program Files\Java\jdk1.6.0_06\bin 然后配置windows系统环境变量,在path中加入C:\Program Files\Java\jdk1.6.0_06\bin; 打开你的java工程,配置user library,并导入comm.jar包。 2、现在就可以开始写代码了。串口读写代码如下 CommPortIdentifier portID = CommPortIdentifier.getPortIdentifier(com);//1,先拿到Identifier //其中com是String类型的,传入的是串口名com="COM1"; SerialPort port = (SerialPort)portID.open("MyComm", 100000000);//2,打开串口 //"MyComm"是串口名,100000000是串口过期时间(ms)。 port.setSerialPortParams(rate, databits,stopbit, parity);//3,设置串口属性 //rate 波特率(默认9600),databits载波位(默认8),stopbit停止位(默认1),parity校验位(默认0无校验) port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE);//4(可选)设置数据流控制模式,默认为无 port.close();//关闭串口 3、串口读入写出流。

java串口通信程序(程序及注释)-13页word资料

Java的串口通信程序 首先需要到到sun主页下载串口通信的包,因为一般的jrd中不含有这个包的,有点补丁的意思。(CSDN上也有)。解压缩,为了使Java Communications API能够正确的与Windows系统交互,需要几个小的技巧。下面是三个很重要的文件,你可以从Sun的网站上下载得到 comm.jar win32com.dll javaxm.properties 对于JVM来说,要正确的识别串口,将这几个文件放在系统中合适的位置使很重要的。 comm..jar应该放在以下目录中 %JAVA_HOME%/lib %JAVA_HOME%/jre/lib/ext win32com.dll应该放在以下目录中 %windir%system32 javax.properties应该放在以下目录中 %JAVA_HOME%/lib

%JAVA_HOME%/jre/lib 你可以通过编译和运行Sun的例程来验证串口是否可以使用了。 JBuilder中安装安装Java Communication API (以下在JBuilder 2006中测试通过) 如果你使用JBuilder,那么还需要为JBuilder配置API。 一般来说,根据你的JBuilder配置,你也许需要将win32com.dll和javax.properties安装到相应的目录中,可以参照上述的目录。例如,如果你使用JBuilder附带的JVM的话,你也许需要将win32com.dll和javax.properties放到C:\Borland\JBuilder2006\jdk1.5的相应位置。 我使用的是JCreator,在打开Configure,然后点击option,选中jdk profile然后双击选中的jdk文件,选择edit,在弹出的窗口中选择串口通信包所在的文件(.jar文件),这样配置就算完成了。 以下分别是接收和发送程序,CSDN上搜的,省的自己写了:发送程序: import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.*;

微信通信HTTP协议抓取与分析

微信通信HTTP协议抓取与分析 一、实验目标 1、基本要求:利用HTTP协议抓取工具获得微信通信会话过程,并对数据包进行分析。 二、基础知识 1、了解HTTP两个基本命令GET与POST,并利用抓取工具获得数据包; 2、利用Telnet命令仿真测试命令GET与POST; 3、利用抓取工具获得微信通信会话数据包,并进行分析。 4、GET与POST get是从服务器上获取数据; post是向服务器传送数据。 三、实验过程与结果 1、网页上Httpwatch抓包结果 安装httpwatch抓包工具,使用IE浏览器,右击有显示httpwatch professional,进入抓包界面。点击Record按钮,输入网址https://www.360docs.net/doc/238414773.html,/,开始抓包 1.1.1 Get方式客户端向服务器发送数据 GET /gw/css/style.css HTTP/1.1 Accept: text/css, */* X-HttpWatch-RID: 26411-10018 Referer: https://www.360docs.net/doc/238414773.html,/gw/index/index.html Accept-Language: zh-CN User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko

Accept-Encoding: gzip, deflate Host: https://www.360docs.net/doc/238414773.html, Connection: Keep-Alive 1.1.2 Get方式服务器向客户端返回地数据 HTTP/1.1 200 OK Date: Thu, 25 Feb 2016 09:15:55 GMT Content-Type: text/css Content-Encoding: gzip Last-Modified: Tue, 15 Dec 2015 02:18:29 GMT Accept-Ranges: bytes ETag: "80487e3de36d11:0" Server: Microsoft-IIS/7.5 X-Powered-By: https://www.360docs.net/doc/238414773.html, Content-Length: 9039 Age: 1 X-Via: 1.1 lishui17:6 (Cdn Cache Server V2.0) Connection: keep-alive 在网页上输入快递单号查询,网页上发送请求 1.2.1 POST方式客户端向服务器发送地数据 POST /addTrace.ashx HTTP/1.1 X-Requested-With: XMLHttpRequest X-HttpWatch-RID: 73415-10085 Content-Type: application/x-www-form-urlencoded; charset=UTF-8

java串口通讯程序

java串口通讯程序 1、下载java Communications api开发包。| 是Sun公司提供的,用于开发平台独立的通讯应用程序的扩展API。 2、将拷贝入C:\j2sdk1.4.2_04\bin 3、将拷贝入C:\j2sdk1.4.2_04\jre\lib\ext 4、将拷贝入C:\j2sdk1.4.2_04\jre\lib 5、编译文件 import .*; import .*; import .*; public class CommTest{ public static void main(String[] args){ SerialPort serialPort=null; DataOutputStream doutput=null; InputStream inputStream; CommPortIdentifier portId=null; String messageString="hello \n"; try{ portId=("COM1"); }catch(NoSuchPortException ne) { "ne"); (); } try{ serialPort=(SerialPort) ("TestComm", 5); OutputStream output = (); doutput=new DataOutputStream(output); inputStream = (); }catch(PortInUseException ex) { "ex"); (); }catch(IOException ie) { "ie"); (); //(); } try { (9600, , , ; } catch (UnsupportedCommOperationException e) {} } try { ()); } catch (IOException e) {}

http协议传输数据

竭诚为您提供优质文档/双击可除 http协议传输数据 篇一:详解http传输协议 何为http协议(hypertexttransferprotocol,超文本传输协议)? 所谓协议,就是指双方遵循的规范。http协议,就是浏览器和服务器之间进行“沟通”的一种规范。我们在看空间,刷微博...都是在使用http协议,当然,远远不止这些应用。 笔者一直听说http是属于“应用层的协议”,而且是基于tcp/ip协议的。这个不难理解,如果你上大学时候学过“计 算机网络”的课程,就一定知道osi七层参考协议(我当时是死记硬背的)。如果你接触过socket网络编程,就应该明白tcp和udp这两种使用广泛的通信协议(建立连接、三次握手等等,当然,这不是本文讨论的重点)。 如图: 既然tcp/udp是广泛使用的网络通信协议,那为啥有多出个http协议来呢?

笔者曾自己动手写过一个简单的web服务器处理软件,根据我的推断(不一定准确)。udp协议具有不可靠性和不安全性,显然这很难满足web应用的需要。 而tcp协议是基于连接和三次握手的,虽然具有可靠性,但仍具有一定的缺陷。但试想一下,普通的c/s架构软件,顶多上千个client同时连接,而b/s架构的网站,十万人同时在线也是很平常的事儿。如果十万个客户端和服务器一直保持连接状态,那服务器如何满足承载呢? 这就衍生出了http协议。基于tcp的可靠性连接。通俗点说,就是在请求之后,服务器端立即关闭连接、释放资源。这样既保证了资源可用,也吸取了tcp的可靠性的优点。 正因为这点,所以大家通常说http协议是“无状态”的,也就是“服务器不知道你客户端干了啥”,其实很大程度上 是基于性能考虑的。以至于后来有了session之类的玩意。 实战准备工作: 在监视网络方面,windows平台上有一款叫做sniffer 的优秀软件,这也是很多“黑客”经常使用的嗅探工具。 在 研究http协议时,推荐大家使用一款

ftp和http通讯协议

ftp和http协议 HTTP是Hyper Text Transfer Protocol,超文本传输协议; FTP是File Transfer Protocol,文件传输协议; 简单说HTTP是面向网页的,而FTP是面向文件的。 FTP协议有两种工作方式:PORT方式和PASV方式,中文意思为主动式和被动式。 FTP协议 FTP基于C/S模式而设计的。在进行FTP操作的时候,即需要客户端应用程序,也需要服务器端程序。我们一般先在自己的计算机中执行FTP客户端应用程序,在远程服务器中执行FTP服务器应用程序,这样,就可以通过FTP客户应用程序和FTP进行连接。连接成功后,可以进行各种操作。在FTP中,客户机只提出请求各接收服务,服务器只接收请求和执行服务。 在利用FTP进行文件传输之前,用户必须先连入INTERNET网中,在用户自己的计算机上启动FTP用户应用程序,并且利用FTP应用程序和远程服务器建立连接,激活远程服务器上的FTP服务器程序。准备就绪后,用户首先向FTP服务器提出文件传输申请,FTP服务器找到用户所申请的文件后,利用TCP/IP将文件的副本传送到用户的计算机上,用户的FTP程序再将接收到的文件写入自己的硬盘。文件传输完后,用户计算机与服务器计算机的连接自动断开。 与其他的C/S模式不同的是,FTP协议的客户机与服务器之间需要建立双重连接:一个是控制连接,另一个是数据连接。这样,在建立连接时就需要占用两个通信信道。 HTTP超文本传输协议,HTTP是用来在WWW上交换文件(文本,图形,声音,动画等)的规则集。相对于TCP/IP协议族(它是网上交换信息的基础),HTTP是应用协议。 ftp的协议和http协议的主要区别在于ftp是需要用户名和密码才能访问(匿名登陆除外),这样做的目的在于有的文件只供特殊人访问,而http协议是任何人都可以访问的。ftp在浏览器的地址栏中的格式是: ftp://用户名:密码@网站地址/文件目录/ 如果直接输入ftp.网站地址则会弹出一个登陆界面,需要输入用户名和密码,这种方式通常称为webftp,从字面上理解很容易明白,看起来是浏览器访问,实际上打开的是以文件夹的形式的存放目录。 目前常用ftp软件cuteftp,flashftp等来访问,方便管理 HTTP协议是什么 我们在浏览器的地址栏里输入的网站地址叫做URL (Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。

Java串口通信编程指南

Java串口通信编程指南

1. 概述 在java中,利用Java Communication包可以操作串口,但官方的包在3.0之后就只支持Linux和Solaris平台了,Windows平台的只支持到98年出的2.0版本,不过在XP下还能使用。另外,也可以用开源的Rxtx实现串口通信,这里仅以Java Communication包,在Windows 平台实现串口通信进行说明。 2. 前期准备 2.1. 下载Java Communication包 ?下载地址如下:https://www.360docs.net/doc/238414773.html,/Jolt/javacomm20-win32.zip。 ?如果是非Windows平台,请到Sun网站选择其他版本下载。地址如下: https://www.360docs.net/doc/238414773.html,/download/products.xml?id=43208d3d 2.2. 配置 ?解压缩javacomm20-win32.zip ?把win32com.dll拷贝到{JAVA_HOME}\jre\bin ?把comm.jar拷贝到{JAVA_HOME}\jre\lib\ext ?把https://www.360docs.net/doc/238414773.html,m.properties拷贝到{JAVA_HOME}\jre\lib ?set CLASSPATH={JAVA_HOME}\jre \lib\ext \comm.jar;%classpath%

3. 实现过程 主要步骤包括: ?获得串口标识 ?打开串口 ?设置串行端口通讯参数 ?获取输入(出)流 ?进行读写操作 3.1. 获得串口标识 指定串口的端口号,生成串口的标识类的实例。 https://www.360docs.net/doc/238414773.html,mPortIdentifier是通讯端口管理器,控制访问到通讯端口的中心类。一个应用程序首先使用CommPortIdentifier中的方法,通过相关的驱动去获取那些通讯端口是可用的并且选择一个端口便于开始。它包括如下功能: a. 通过驱动决定通讯端口是可用的。 b. 打开通讯端口为了I/O操作。 c. 决定端口的拥有者。 d. 解析端口拥有者的争夺。 e. 管理事件显示在端口拥有者的中的状态改变。 示例代码如下: 代码: 3.2. 打开串口 示例代码如下: 代码:

Socket和HTTP网络通信

Socket和HTTP网络通信 在Android的网络通讯中,通常会使用Socket进行设备间数的数据通讯,使用Http来 对网络数据进行请求。 1、Socket(套接字) 不管是有过Java开发经验还是.NET开发经验的同学都应该对Socket有或多或少的了解,常见的TCP或者UDP协议其实都是基于Socket来实现的。 Socket是用于描述网络上的一个设备中的一个进程或者应用程序的,Socket由 IP地址和端口号两部分组成。IP地址用来定位设备,端口号用来定位应用程序或者进程,比如我们常见的运行在80端口上的HTTP协议。Socket的常见格式为: 192.168.1.1:1234。 那么应用程序是如何通过Socket来与网络中的其他设备进行通讯的呢?通常情况下,Socket通信有两部分,一部分为监听的Server端,一部分为主动请求连接的 Client端。Server端会一直监听Socket中的端口直到有请求为止,当Client端对该端 口进行连接请求时,Server端就给予应答并返回一个Socket对象,以后在Server端 与Client端的数据交换就可以使用这个Socket来进行操作了。 2、Android中使用Socket进行数据交换 ?ServerSocket 建立服务端(Server)时,需要使用ServerSocket对象,这个对象会自动对其构造函数中传入的端口号进行监听,并在收到连接请求后,使用ServerSocket.accept()方 法返回一个连接的的Socket对象。这个方法并不需要我们像在.NET中那样使用Start方法,它会自动进行监听的。 ?Socket 不管建立客户端(Client)还是在进行其他数据交换方面的操作时,都需要使用Socket类。Socket类在进行初始化时需要出入Server 端的IP地址和端口号,并返回 连接到Server端的一个Socket对象,如果是连接失败,那么将返回异常。同ServerSocket,也是自动进行连接请求的。 通过上面两个步骤后,Server端和Client端就可以连接起来了,但是仅仅连接起来 是没有任何作用的,数据交换才是我们的目的,这时候就需要用到IO流中的OutputStream类和InputStream类。 ?OutputStream——可写流 当应用程序需要对流进行数据写操作时,可以使用Socket.getOutputStream()方 法返回的数据流进行操作。 ?InputStream——可读流

Java串口通信详解

Java串口通信详解 序言 说到开源,恐怕很少有人不挑大指称赞。学生通过开源代码学到了知识,程序员通过开源类库获得了别人的成功经验及能够按时完成手头的工程,商家通过开源软件赚到了钱……,总之是皆大欢喜。然而开源软件或类库的首要缺点就是大多缺乏详细的说明文档和使用的例子,或者就是软件代码随便你用,就是文档,例子和后期服务收钱。这也难怪,毕竟就像某个著名NBA 球员说的那样:“我还要养家,所以千万美元以下的合同别找我谈,否则我宁可待业”。是啊,支持开源的人也要养家,收点钱也不过分。要想既不花钱又学到知识就只能借助网络和了,我只是想抛砖引玉,为开源事业做出点微薄共献,能为你的工程解决哪怕一个小问题,也就足够了。 虽然我的这个系列介绍的东西不是什么Web框架,也不是什么开源服务器,但是我相信,作为一个程序员,什么样的问题都会遇到。有时候越是简单的问题反而越棘手;越是小的地方就越是找不到称手的家伙。只要你不是整天只与“架构”、“构件”、“框架”打交道的话,相信我所说的东西你一定会用到。 1串口通信简介 1.1常见的Java串口包 1.2串口包的安装(Windows下) 2串口API概览 https://www.360docs.net/doc/238414773.html,mPort https://www.360docs.net/doc/238414773.html,mPortIdentifier https://www.360docs.net/doc/238414773.html,m.SerialPort 2.4串口API实例 2.4.1列举出本机所有可用串口 2.4.2串口参数的配置 2.4.3串口的读写 3串口通信的通用模式及其问题 3.1事件监听模型 3.2串口读数据的线程模型 3.3第三种方法 4结束语 1串口通信简介 嵌入式系统或传感器网络的很多应用和测试都需要通过PC机与嵌入式设备或传感器节点进行通信。其中,最常用的接口就是RS-232串口和并口(鉴于USB接口的复杂性以及不需要很大的数据传输量,USB接口用在这里还是显得过于奢侈,况且目前除了SUN有一个支持USB 的包之外,我还没有看到其他直接支持USB的Java类库)。SUN的CommAPI分别提供了对常用的RS232串行端口和IEEE1284并行端口通讯的支持。RS-232-C(又称EIA RS-232-C,以下简称RS232)是在1970年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。RS232是一个全双工的通讯协议,它可以同时进行数据接收和发送的工作。 1.1 常见的Java串口包 目前,常见的Java串口包有SUN在1998年发布的串口通信API:comm2.0.jar(Windows 下)、comm3.0.jar(Linux/Solaris);IBM的串口通信API以及一个开源的实现。鉴于在Windows下SUN的API比较常用以及IBM的实现和SUN的在API层面都是一样的,那个开源的实现又不像两家大厂的产品那样让人放心,这里就只介绍SUN的串口通信API在Windows 平台下的使用。 1.2 串口包的安装(Windows下) 到SUN的网站下载javacomm20-win32.zip,包含的东西如下所示:

Linux下http协议GET通讯的C语言实现

Linux下http协议GET通讯的C语言实现 from https://www.360docs.net/doc/238414773.html,/uid-21768364-id-187570.html201 1.03 #include <stdio.h> #include <stdlib.h> #include <string.h> #include <sys/types.h> #include <sys/socket.h> #include <errno.h> #include <unistd.h> #include <netinet/in.h> #include <limits.h>

#include <netdb.h> #include <arpa/inet.h> #include <ctype.h>int main(int argc, char *argv[]) { int sockfd; char buffer[1024]; struct sockaddr_in server_addr; struct hostent *host; int portnumber,nbytes; char host_addr[256]; char host_file[1024];

char local_file[256]; FILE * fp; char request[1024]; int send, totalsend; int i; char * pt;if(argc!=2) { fprintf(stderr,"Usage:%s web-address\a\n",argv[0]); exit(1); } portnumber=80;

Java串口通信编程指导

Java串口通信编程指导 Java串口通信编程

概述 在java中,利用Java Communication包能够操作串口,但官方的包在3.0之后就只支持Linux和Solaris平台了,Windows平台的只支持到98年出的2.0版本,只是在XP下还能使用。另外,也能够用开源的Rxtx实现串口通信,那个地点仅以Java Communication包,在Windows平台实现串口通信进行讲明。 前期预备 下载Java Communication包 下载地址如下:https://www.360docs.net/doc/238414773.html,/Jolt/javacomm20-win32.zip。 配置 解压缩javacomm20-win32.zip 把win32com.dll拷贝到{JA V A_HOME}\jre\bin 把comm.jar拷贝到{JA V A_HOME}\jre\lib\ext set CLASSPATH={JA V A_HOME}\jre \lib\ext \comm.jar;%classpath%

实现过程 要紧步骤包括: 获得串口标识 打开串口 设置串行端口通讯参数 猎取输入(出)流 进行读写操作 获得串口标识 指定串口的端口号,生成串口的标识类的实例。 a. 通过驱动决定通讯端口是可用的。 b. 打开通讯端口为了I/O操作。 c. 决定端口的拥有者。 d. 解析端口拥有者的争夺。 e. 治理事件显示在端口拥有者的中的状态改变。示例代码如下: 代码: 打开串口 示例代码如下: 代码:

5000(毫秒)是超时时刻。 设置串行端口通讯参数 设置串口传输的波特率、数据位、停止位、奇偶校验等参数。 示例代码如下: 代码: try { // 通信条件の設定 // 通信速度 9600 baud // データビット 8bit // ストップビット 1bit // パリティなし // フローコントロールの設定 // 無制御を使用 port.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE); port.setFlowControlMode(SerialPort.FLOWCONTROL_NONE); } catch (UnsupportedCommOperationException ex) { ex.printStackTrace(); System.exit(1); } 猎取输入(出)流 利用getInputStream()以及getOutputStream()从每个串口产生对应的输入输出流对象。 示例代码如下: 代码:

HTTP协议培训资料

HTTP(HyperTextTransfer Protocol)是一套计算机通过网络进行通信的规则。计算机专家设计出HT TP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1.HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(Respo nse),连接就被关闭了,在服务器端不保留连接的有关信息.HTTP遵循请求(Request)/应答(Response)模型。W eb浏览器向Web服务器发送请求,Web服务器处理请求并返回适当的应答。所有HTTP连接都被构造成一套请求和应答。 HTTP使用内容类型,是指Web服务器向Web浏览器返回的文件都有与之相关的类型。所有这些类型在MIME Internet邮件协议上模型化,即Web服务器告诉Web 浏览器该文件所具有的种类,是HTML文档、GIF格式图像、声音文件还是独立的应用程序。大多数Web浏览器都拥有

一系列的可配置的辅助应用程序,它们告诉浏览器应该如何处理Web服务器发送过来的各种内容类型。 HTTP通信机制是在一次完整的HTTP通信过程 中,Web浏览器与Web服务器之间将完成下列7个步骤: (1)建立TCP连接 在HTTP工作开始之前,Web浏览器首先要通过网络与Web服务器建立连接,该连接是通过TCP来完成的,该协议与IP协议共同构建Internet,即著名的TCP/IP协议族,因此Internet又被称作是TCP/IP网络。HTTP 是比TCP更高层次的应用层协议,根据规则,只有低层协议建立之后才能,才能进行更层协议的连接,因此,首先要建立TCP连接,一般TCP连接的端口号是80 (2)Web浏览器向Web服务器发送请求命令一旦建立了TCP连接,Web浏览器就会向Web服务器发送请求命令。例如:GET /sample/hello.jsp HTTP/1.1 (3)Web浏览器发送请求头信息 浏览器发送其请求命令之后,还要以头信息的形式向Web服务器发送一些别的信息,之后浏览器发送了一空白行来通知服务器,它已经结束了该头信息的发送。

一个通过JAVA串口通信控制LED显示数据的实例

一个通过java串口通信控制LED显示数据的实例 在很多应用程序中都需要用到pc机与外部设备如:嵌入式系统、传感器、开关 设备等进行数据通讯。其中,最常用的接口就是RS-232串口和并口。SUN的 CommAPI分别提供了对常用的RS232串行端口和IEEE1284并行端口通讯的支持。 至于java串口通讯的配置以及通讯模式在sun的demo以及网上都有很多具体的 实例。 下面是我在开发一个叫号功能模块时通过串口通信来控制LED显示的实例,由于 第一次进行相关的开发,看似一个非常简单的功能在实际开发中却遇到了一些问 题,希望本人的解决方式能够对大家有所帮助,也希望大家能够提出更好的解决 方式。 先看一下LED显示屏厂商提供的通讯协议: ---遥控单双色、单双行、混合屏 一、每一次对任一特定地址发送信息由内码帧(7f/7e),数码帧 (6f/6e),定时帧(5f),时间帧(4f)中的一种或多种构成,结束 时发送一结束帧。 二、帧结构:每帧由84字节构成。 1、内码帧:一幕由一起始帧和零或多个中间帧组成,一次 发送可有多幕。 1)起始帧:地址(1字节)+帧控制7F(1字节) +幕号(1字节)+COMMAND(8字节) +内码/ASCII(73字节) 2)中间帧:地址(1字节)+帧控制7E(1字节)+ 幕号(1字节)+COMMAND(8字节)+内码/ASCII (73字节) 3)COMMAND: 前4字节未定义,后4字节依次为动画(0~4),移入及移出(各16种),速度(0~255),追加 (D3连续、D2停止、D0闪烁、D4时间、D6暂停、 D7动画) 4)内码/ASCII结构: a、内码4字节,依次为控制字节(D7宽体/正常体、D4绿色、D5红色、D3粗体、D2细体反白、D1 粗体反白、D0细体),内码高位,内码低位,未用 b、ASCII2字节,依次为控制字节(D7宽体/正常体、D5绿色、D4红色、D3粗体、D2细体反白、D1粗体 反白、D0细体),ASCII码 2、数码帧:由一起始帧和零或多中间帧组成。 1)起始帧:地址(1字节)+帧控制6F(1字节)+ 数据(82字节)

http协议数据包格式

竭诚为您提供优质文档/双击可除http协议数据包格式 篇一:数据包格式 tcp/ip协议族包括诸如internet协议(ip)、地址解析协议(aRp)、互联网控制信息协议(icmp)、用户数据报协议(udp)、传输控制协议(tcp)、路由信息协议(Rip)、telnet、简单邮件传输协议(smtp)、域名系统(dns)等协议。tcp/ip 协议的层次结构如图3所示。 图3tcp/ip协议层次结构 (1)应用层应用层包含一切与应用相关的功能,相当于osi的上面三层。我们经常使用的http、Ftp、telnet、smtp 等协议都在这一层实现。 (2)传输层传输层负责提供可靠的传输服务。该层相当于osi模型中的第4层。在该层中,典型的协议是 tcp(transmissioncontrolprotocol)和 udp(userdatagramprotocol)。其中,tcp提供可靠、有序的,面向连接的通信服务;而udp则提供无连接的、不可靠用户数据报服务。 (3)网际层网际层负责网络间的寻址和数据传输,其功

能大致相当于osi模型中的第3层。在该层中,典型的协议是ip(internetprotocol)。 (4)网络接口层最下面一层是网络接口层,负责数据的实际传输,相当于osi模型中的第1、第2层。在tcp/ip协议族中,对该层很少具体定义。大多数情况下,它依赖现有的协议传输数据。 tcp/ip与osi最大的不同在于osi是一个理论上的网络通信模型,而tcp/ip则是实际运行的网络协议。tcp/ip实际上是由许多协议组成的协议簇。图4示出tcp/ip的主要协议分类情况。 整个过程: 1.dhcp请求ip地址的过程 l发现阶段,即dhcp客户端寻找dhcp服务器的阶段。客户端以广播方式发送dhcpdiscoVeR包,只有dhcp服务器才会响应。 l提供阶段,即dhcp服务器提供ip地址的阶段。dhcp 服务器 接收到客户端的dhcpdiscoVeR报文后,从ip地址池中选择一个尚未分配的ip地址分配给客户端,向该客户端发送包含租借的ip地址和其他配置信息的dhcpoFFeR包。 l选择阶段,即dhcp客户端选择ip地址的阶段。如果有多台dhcp服务器向该客户端发送

Java 串口通讯 RS232

通过comm.jar等配置 如果用applet应用程序的话,下面这个函数是可以取到串口的,但是如果通过web应用程序(或者通过jsp调用)却取不到串口,而且也不会抛出异常,感觉很奇怪,特来请教! CommPortIdentifier.getPortIdentifiers(); 同时目标机器的java运行环境也需要把w32comm.dll, comm.jar xxx.proper等放到相应的目录 就是用ibm的包而不用sun的comm包: ibm-javacomm-win32-x86.zip 只需要把comm驱动包这个类的装载更新一下即 https://www.360docs.net/doc/238414773.html,/serialcomm.htm 利用Java实现串口全双工通讯 一个嵌入式系统通常需要通过串口与其主控系统进行全双工通讯,譬如一个流水线控制系统需要不断的接受从主控系统发送来的查询和控制信息,并将执行结果或查询结果发送回主控系统。本文介绍了一个简单的通过串口实现全双工通讯的Java类库,该类库大大的简化了对串口进行操作的过程。 本类库主要包括:SerialBean.java (与其他应用程序的接口), SerialBuffer.java(用来保存从串口所接收数据的缓冲区), ReadSerial.java (从串口读取数据的程序)。另外本类库还提供了一个例程SerialExample.java 作为示范。在下面的内容中将逐一对这几个部分进行详细介绍。 1. SerialBean SerialBean是本类库与其他应用程序的接口。该类库中定义了SerialBean的构造方法以及初始化串口,从串口读取数据,往串口写入数据以及关闭串口的函数。具体介绍如下: 本函数构造一个指向特定串口的SerialBean,该串口由参数PortID所指定。PortID = 1 表示COM1,PortID = 2 表示COM2,由此类推。 本函数初始化所指定的串口并返回初始化结果。如果初始化成功返回1,否则返回-1。初始化的结果是该串口被SerialBean独占性使用,其参数被设置为9600, N, 8, 1。如果串口被成功初始化,则打开一个进程读取从串口传入的数据并将其保存在缓冲区中。

芊熠智能_出入口相机HTTP通信协议V1.0

车牌识别一体机数据传输协议 一、HTTP推送: 这种方式需要用户建立一个HTTP服务器,同时将这台HTTP服务器的地址配置给一体机。当一体机有识别结果后(或者其他需要推送的内容时),就会往指定的地址发送HTTP命令。 1. http服务器设置 接收http推送的服务器,配置包括地址ip地址,端口号,和超时时间设置。请根据架设的服务器的情况进行配置。 2. 车牌识别结果推送 开启推送车牌识别结果后,有车牌识别结果时,按图中的配置会发送消息到 http://192.168.0.36/cgi-bin/plateresult.cgi这个地址。 数据内容:JSON格式 { "AlarmInfoPlate" : { "channel" : 0, "deviceName" : "default", "ipaddr" : "192.168.0.100", "result" : { "PlateResult" : { "bright" : 0, "carBright" : 0, "carColor" : 0, "colorType" : 0, "colorValue" : 0,

"confidence" : 0, "direction" : 0, "license" : "_无_", "location" : { "RECT" : { "bottom" : 0, "left" : 0, "right" : 0, "top" : 0 } }, "timeStamp" : { "Timeval" : { "sec" : 1441815171, "usec" : 672241 } }, "timeUsed" : 0, "triggerType" : 1, "type" : 0 } }, "serialno" : "e10b2d6c8c07b422361457935b518642" } } 开启报警发送图片后,json中的将包含图像数据。包含全部内容的json数据如下,

java串口通信

小技巧:如何辨别TXD和RXD端口? 搞电子的人手边应该常备一个电表,用来测测电压,电阻什么的会很有用。你只要分别测一下RS232端口的2--5或3--5针脚之间的电压,通常TXD针脚与GND之间会有 3~15V左右的负电压,表示它是TXD针脚。 安装JavaCommunicationsAPI Sun的J2SE中并没有直接提供以上提到的任何一种串行通讯协议的开发包,而是以独立的jar包形式发布在https://www.360docs.net/doc/238414773.html,网站上(从这里下载)----即comm.jar,称之为Javatm CommunicationsAPI,它是J2SE的标准扩展。comm.jar并不是最近才有,早在1998年时,sun就已经发布了这个开发包。comm.jar分别提供了对常用的RS232串行端口和IEEE1284并行端口通讯的支持。目前sun发布的comm.jar只有Windows和Solaris平台两个版本,如果你需要Linux平台下的,可以在 https://www.360docs.net/doc/238414773.html,/~kevinh/linuxcomm.html找到。 在使用comm.jar之前,必须知道如何安装它。这也是困扰许多初学javaRS232通讯者的一个难题。如果我们电脑上安装了JDK,它将同时为我们安装一份JRE(Java RuntimeEntironment),通常我们运行程序时都是以JRE来运行的。所以以下的安装适用于JRE。如果你是用JDK来运行程序的,请将相应的改成。 下载了comm.jar开发包后,与之一起的还有两个重要的文件,win32com.dll和https://www.360docs.net/doc/238414773.html,m.properties。comm.jar提供了通讯用的javaAPI,而win32com.dll提供了供comm.jar调用的本地驱动接口。而https://www.360docs.net/doc/238414773.html,m.properties是这个驱动的类配置文件。首先将comm.jar复制到\lib\ext目录。再将win21com.dll复制到你的RS232应用程序运行的目录,即user.dir。然后将https://www.360docs.net/doc/238414773.html,m.properties复制到\lib目录。 通讯前的准备 如果你手头上没有现成的提供了标准RS232串口的设备,你可以将自己的电脑模拟成两台不同的串口设备。通常电脑主机后面的面板提供了两个9针的串口,请将这两个串口的2,3,5脚按前面介绍的方法连接。电子市场都有现成的连接头卖,请不要买那种封装的严严实实的接头,而要买用螺丝封装可以拆开的连接头,这样可以方便自己根据需要连接各 个针脚。 Comm API基础 我无意于在此详细描述Comm API每个类和接口的用法,但我会介绍CommAPI的 类结构和几个重要的API用法。 所有的comm API位于https://www.360docs.net/doc/238414773.html,m包下面。从CommAPI的javadoc来看,它 介绍给我们的只有区区以下13个类或接口: https://www.360docs.net/doc/238414773.html,mDriver https://www.360docs.net/doc/238414773.html,mPort https://www.360docs.net/doc/238414773.html,m.ParallelPort

java串口通信

java串口通信API说明 java串口通信 Java提供了 CommunicationAPI(包含于https://www.360docs.net/doc/238414773.html,m包中)用于通过与机器无关的方式,控制各种外部设备。Communications API,是标准的Java的扩展部分,它在JavaAPI中是没有附带的。因此,必须先在SUN公司网站的Java站点(https://www.360docs.net/doc/238414773.html,)上下载这个扩展类库。 1.1Communications API 简介 Communications API 的核心是抽象的CommPort类及其两个子类:SerialPort类和ParallePort类。其中,SerialPort类是用于串口通信的类,ParallePort类是用于并行口通信的类。CommPort类还提供了常规的通信模式和方法,例如:getInputStream( )方法和getOutputStream( )方法,专用于与端口上的设备进行通信。 然而,这些类的构造方法都被有意的设置为非公有的(non-public)。所以,不能直接构造对象,而是先通过静态的CommPortIdentifer.getPortIdentifiers()获得端口列表;再从这个端口列表中选择所需要的端口,并调用CommPortIdentifer对象的Open( )方法,这样,就能得到一个CommPort对象。当然,还要将这个CommPort对象的类型转换为某个非抽象的子类,表明是特定的通讯设备。该子类可以是SerialPort类和ParallePort类中的一个。下面将分别对CommPort类,CommPortIdentifier类,串口类SerialPort进行详细的介绍。

HTTP协议分析简介

HTTP是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在WWW 中使用的是HTTP/1.0的第六版,HTTP/1.1的规范化工作正在进行之中,而且HTTP-NG(Next Generation of HTTP)的建议已经提出。 HTTP协议的主要特点可概括如下: 1. 支持客户/服务器模式。 2. 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP 服务器的程序规模小,因而通信速度很快。 3. 灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。 4. 无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。 5. 无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。 一、HTTP协议(URL) http(超文本传输协议)是一个基于请求与响应模式的、无状态的、应用层的协议,常基于TCP的连接方式,HTTP1.1版本中给出一种持续连接的机制,绝大多数的Web开发,都是构建在HTTP协议之上的Web应用。 HTTP URL (URL是一种特殊类型的URI,包含了用于查找某个资源的足够的信息)的格式如下:[":"port][abs_path] http表示要通过HTTP协议来定位网络资源;host表示合法的Internet主机域名或者IP地址;port 指定一个端口号,为空则使用缺省端口80;abs_path指定请求资源的URI;如果URL中没有给出abs_path,那么当它作为请求URI时,必须以“/”的形式给出,通常这个工作浏览器自动帮我们完成。 二、HTTP协议的请求 http请求由三部分组成,分别是:请求行、消息报头、请求正文 1、请求行以一个方法符号开头,以空格分开,后面跟着请求的URI和协议的版本,格式如下:Method Request-URI HTTP-Version CRLF 其中Method表示请求方法;Request-URI是一个统一资源标识符;HTTP-Version表示请求的HTTP协议版本;CRLF表示回车和换行(除了作为结尾的CRLF外,不允许出现单独的CR或LF字符)。 请求方法(所有方法全为大写)有多种,各个方法的解释如下: GET 请求获取Request-URI所标识的资源 POST 在Request-URI所标识的资源后附加新的数据 HEAD 请求获取由Request-URI所标识的资源的响应消息报头 PUT 请求服务器存储一个资源,并用Request-URI作为其标识

相关文档
最新文档