java定义接口的方法,java接口中定义方法
通用通信协议
APP应用层:
HTTP(超文本传输协议):超文本传输协议
文件传输协议(FTP):文件传输协议
SFTP(sshfiletransferprotocol):安全文件传输协议
域名系统(DNS):域名系统
简单邮件传输协议(SMTP):简单邮件传输协议
Pop3(迁移后协议版本3):邮局协议3
互联网邮件访问协议(IMAP):互联网邮件访问协议
SCP (scp) scp是使用SSH传输数据的智能网络的核心组件。它用于复制远程文件和加密复制过程。
传输层(网络层):
传输控制协议:传输控制协议
用户数据报协议:用户数据报协议
网络层:
互联网协议(IP):互联网协议
互联网控制消息协议(icmp):控制消息协议
链路层:
媒体访问控制(MAC):媒体访问控制
地址解析协议:地址解析协议
这次使用http协议发送请求,并对传输的图像进行应答。首先考虑的是通过socket和编程接口的传输流实现图像传输。
以下是它们各自的特点和区别:
socket:APP应用层与TCP/IP协议族通信的中间软件抽象层。这是一系列接口。在设计模式下,socket实际上是gate模式,将复杂的TCP/IP协议族隐藏在socket接口后面。对于用户来说,所有简单的接口都是为了让socket符合指定的协议,而数据socket则是TCP/IP协议的封装。只有通过套接字才能使用TCP/UDP协议。
HTTP:建立在TCP协议之上的应用程序。HTTP连接最明显的特点是,每次客户端发送请求,服务都需要在请求完成后进行回复并主动释放连接。从建立连接到关闭连接的过程称为主连接。
1)在HTTP 1.0中,每个客户端请求都需要建立一个单独的连接,在这个请求被处理后,连接被自动释放。
2)因为在HTTP 1.1中,多个请求可以由一个连接处理并重叠,所以不需要在一个请求结束后再发送下一个请求。
差异:
1) http是协议,socket是编程接口,主要包括TCP和UDP
2) http和TCP/UDP是两个不同层的协议。是http APP的应用层协议,TCP/UDP是传输层协议,http是TCP/UDP之上的协议,http使用TCP/UDP。Http稍微高级一点,但是不够灵活。
出于项目的需要,我选择了http协议来实现通信。Python的pickle包(下面有详细写pickle包的博客。请看。)将图像转换成字节对象并发送到服务器,在服务器上可以进行分析。下面是客户端的实现代码。
#!/usr/ssdmj/python
#-*-编码=utf-8 -*-
导入json
导入程序
导入urllib2
导入请求
进口提货
efpost(server_URL,params):
data=urllib.urlencode(参数)
request=urllib2。请求(服务器URL,数据).
返回JSON.loads (urllib2。urlopen(请求,超时=10)。阅读()
eflocal_image(服务器URL,图像路径) :
server _ URL= 3358192 . 168 . 1 . 17633608080/face/sign in #服务器提供的URL
image_path=li.jpg
r_file=open(image_path, rb ).
img=pickle . dumps(r _ file . read))#返回一个字节对象
params={img: img}
打印端口(服务器URL,params))。
if __name__==__main__ :
URL= http://192 . 168 . 20/Li . jpg?
#本地图像
File_path=li.jpg #本地存储图像的路径
local_image(URL,文件路径).
您可以通过测试发送请求并获得响应。
参考博客:
3359 blog.csdn.net/w 369033345/文章/详情/72779553
blog.csdn.net/yma大街3359号/文章/详情/80645917
3359 blog.csdn.net/sinat _ 29552923/文章/详情/70833455