如何实现基于tcp进行http交互

基于TCP socket实现的HTTP WEB服务器 源码下载 http://www.byamd.xyz/hui-zong-1/ 一、实验目的及任务 1、熟悉并掌握WireShark的基本操作,了解网络协议实体间的交互以及报文交换。 2、通过对WireShark抓包实例进行分析,进一步加深对HTTP网络协议的理解。 3、编写一个简单的Web服务器,实现作业(2)(3)项所要求的功能。 4、培养理论联系实践的科学研究精神。 二、实验环境 1、系统环境:Windows 10 家庭中文版 1607 2、浏览器:Chrome 3、WireShark:Versio 阅读详情

在项目开发过程中遇到了,这样一个需求,就是如何通过ajax发送http POST请求到网络机顶盒来遥控电视,比如调换频道、调节音量大小。

其实原理很简单,就是在网络机顶盒内安卓一个接口遥控命令的apk,ajax 将遥控的命令发送给apk,apk将接受到的命令进行解析遥控电视。

关键是的apk(即安卓应用安装包),如何启动http服务呢。其实原理很简单,在这里就不多说了,大家可以直接下载源码,自己看看代码就知道了。下载后源代码目录下有一个readme.txt 文件,里面有对代码进行相关的说明,还有一个demo示例。

希望对大家有所帮助。


总结

如何实现基于tcp协议进行http协议交互。手机网页遥控器,其实就是在 android端利用 SocketServer 启动tcp协议进行http协议交互。源码开放给大家了,大家可以根据自己的需要,进行修改。

点击下满链接 下载代码

demo

python 实现TCP socket通信和 HTTP服务器、服务器和客户端通信python实例 python 实现TCP socket通信和 HTTP服务器、服务器和客户端通信实例 socket是什么? 由下图可理解:Socket是应用层与TCP/IP协议族通信的中间软件抽象层。 复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部,让Socket去组织数据,以符合指定的协议。 服务器和客户端通信的流程 由下图可理解服务器和客户端通信的流程: 服务器端先初始化Socket,然后与端口绑定(bind),对端口进行监听(listen),调用accept阻塞,等待客户端连 阅读详情

相关推荐

读书笔记|智能运维系统落地方案

对于互联网公司来说,系统复杂化导致的人工运维成本激增已经是普遍现象,采用智能运维是行之有效的应对策略。智能运维的核心思想是利用算法来处理海量运维数据,积累运维经验,从而代替人工思考判断,以自动化的过程实现风险的预防、发现、定位和处理。而智能运维系统是其中的重中之重,但建设企业应用智能运维系统,不是应用运维部独立规划设计就可以完成的,它需要业务、产品、开发、基础设施运维多部门协同才能顺利实施。 那么,作为运维人员,您是否了解智能运维系统的架构?如果参与规划建设智能运维系统,该怎么着手呢?下面我们立足实际需求

xiaoshuaca的博客 685

HTTP协议— 基于 TCP 的请求-响应协议 相关交互过程详细介绍

HTTP 叫做:超文本传输协议(Hyper Text TransferProtocol,HTTP)是一个简单的请求-响应协议,它通常运行在 TCP/IP 五层协议栈的应用层。是一种非常广泛的**应用层协议**(客户端和服务器建立连接在应用层)。 经典面试题:GET 和 POST 的区别 首先先下定论:GET 和 POST 没有本质区别(可以相互替代使用),具体来说,相当于:GET 能使用的场景,也能替换成 POST;POST 使用的场景,也能替换成 GET。 语义上的区别:GET 通常是用来取数据的;PO

weixin_46448719的博客 5053

基于cat12搞定SBM的ROI的统计分析——vertex水平和ROI水平的双样本T检验

前言 一、Atlas皮层图谱介绍 二、SBM分析——主要以皮层四种常用指标中的厚度(thickness)和沟深(depth)为主

Sophia2023的博客 8755

HTTP是如何使用TCP连接的

之前我写了篇关于 HTTP 的文章,文章中讲述了 HTTP的特点,HTTP 的报文,HTTP 的请求方式等知识,接下来,深入了,我们就关于 HTTP 引发的面试题来进行入手,一起来看一下吧! 1. HTTP 是如何使用 TCP 连接的; 世界上几乎所有的 HTTP 通信都是由 TCP/IP 承载的,TCP/IP 是全球计算机及网络设备都 在使用的一种常用的分组交换网络分层协议集。客户端应用程序可...

懿的博客 4026

100kHz手持LCR表设计:高频阻抗测量与校准实战解析

阻抗测量是电子元件测试的基础,LCR表通过施加正弦激励并分析电压电流的幅值与相位,即可获取电容、电感、电阻的等效参数。在开关电源、无线充电等高频应用场景中,元件在100kHz下的ESR和阻抗特性尤为关键,传统10kHz手持仪表难以满足需求。本文从自动平衡桥原理出发,探讨如何将台式电桥的核心能力浓缩至手持设备,重点剖析高频寄生参数抑制、模拟链路设计、数字相敏检波算法及开路短路校准方法。通过实测数据验证,在100kHz频率下基本精度可达0.5%以内,为维修现场、产线抽检及硬件调试提供了可携带的精密测量方案。全文

weixin_33910191的博客 398

VI4302 1D dToF Sensor助力无人机定高避障:一场前所未有的飞行体验

另外,传感器因测量精度不够,产生的高度信息误差,会导致无人机无法精确定高,影响飞行稳定性和安全降落。芯视界于2022年发布的全新一代基于单光子探测技术的dToF激光雷达传感器芯片-VI4302,采用单电源低功耗系统,实现高性能测距、高稳定性,同时具备极强抗阳光能力以及兼容性等强大优势。无人机可以根据传感器提供的信息,快速调整飞行路径,避开潜在的障碍物,确保平稳的飞行。VI4302 1D dToF Sensor能够以极高的精度测量物体与无人机之间的距离,实现毫米级别的测量精度。⭐ 体型小巧,灵敏度高。

致力于lidar应用开发 624

TCP三次握手和四次挥手

1、TCP连接 建立起一个TCP连接需要经过“三次握手”: 第一次握手:客户端发送syn包(syn=j)到服务器,并进入SYN_SEND状态,等待服务器确认; 第二次握手:服务器收到syn包,必须确认客户的SYN(ack=j+1),同时自己也发送一个SYN包(syn=k),即SYN+ACK包,此时服务器进入SYN_RECV状态; 第三次握手:客户端收到服务器的SYN+ACK包,向服务器发送确认包A...

Alice_whj的博客 1317

YOLOv11改进 | 主干/Backbone篇 | 利用RT-DETR主干网络PPHGNetV2助力yolov11有效涨点(轻量化目标检测网络)

本文给大家带来利用RT-DETR模型主干HGNet去替换YOLOv11的主干,RT-DETR是今年由百度推出的第一款实时的ViT模型,其在实时检测的领域上号称是打败了YOLO系列,其利用两个主干一个是HGNet一个是ResNet,其中HGNet就是我们今天来讲解的网络结构模型,这个网络结构目前还没有推出论文,所以其理论知识在网络上也是非常的少,我也是根据网络结构图进行了分析(精度mAP提高0.05)。YOLOv11改进系列专栏——本专栏持续复习各种顶会内容——科研必备​目录一、本文介绍。

Snu77的博客 3721

HTTP协议与TCP协议

TCP(Transmission Control Protocol 传输控制协议) 是一种面向连接(连接导向) 的、可靠的、 基于IP的传输层协议。

qq_56088882的博客 5615

【数据分析】宏基因组alpha和beta多样性分析和差异物种筛选案例

本教程为读者呈现了宏基因组α和β多样性分析的完整案例。通过实际数据和详细步骤,读者可以深入理解这两种分析方法及其在R语言中的实现过程。教程中不仅提供了清晰的代码示例,还对每一步骤进行了详细解释,使读者能够轻松跟随并掌握分析技巧。无论是初学者还是有一定基础的研究者,都能通过本教程快速上手宏基因组多样性分析,为微生物组学研究提供有力支持。

专注生信领域 2219

C2000ware介绍

C2000的下载安装指南C2000目录。

小柚子的博客 2798

一文了解HTTP请求流程!Web请求时HTTP与TCP/IP协议间的关系

HTTP 协议,正是建立在 TCP 连接基础之上的,属于应用层协议。>HTTP 是一种允许浏览器向服务器获取资源的协议,是 Web 的基础。

我本可以 1358

飞牛NAS1.1.19更新后SSH连不上?两步快速恢复连接

飞牛NAS1.1.19版本更新后SSH无法连接😟,实则是官方安全策略升级默认关闭了该服务,本文分享两步实操配置恢复SSH连接💻,还同步了官方的设备安全配置建议,帮助用户兼顾使用与设备防护🔒。

XiaoqiangClub的博客 2113

HTTP、TCP、长连接、短连接

长连接和短连接,其实是说的TCP连接

边博磊的博客 492

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

workerman 长连接 php,workerman实现tcp和http双向连接的方法介绍

下面给大家介绍一下workerman实现tcp和http双向连接的方法介绍。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。相关推荐:《workerman教程》workerman实现tcp和http双向连接本来想采用GatewayWorker来完成的,最后还是想写简单一点。用workerman进行和智能设备的tcp长连接和http的短连接。场景需求。小程序端传给服务器开启设备或调节...

weixin_35873946的博客 1147

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

workerman 进行tcp和http双向连接

workerman 进行tcp和http双向连接 本来想采用GatewayWorker来完成的,最后还是想写简单一点。用workerman进行和智能设备的tcp长连接和http的短连接。 场景需求。小程序端传给服务器开启设备或调节温度等操作。服务器和小程序http短连接,拿到信息后与设备进行tcp长连接。 1、建立tcp连接 protected $socket = 'tcp://0.0.0.0:2...

qq_35679620的博客 2万+

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

Linux下C语言实现HTTP文件服务器和TCP协议实现网络数据传输

Linux C语言http协议开发web文件浏览服务器 tcp协议开发服务器和客户端来进行数据传输

hsy12342611的专栏 3541

TCP、UDP、HTTP、NIO

这这里不是写用TCP、UDP、HTTP、NIO 怎么编程,网上有一大堆的代码。。。 之前的一个项目是用HTTP协议来实现IM项目,用到了servlet3.0,由于http协议是无状态的,所以基于http协议的聊天开发感觉有很大的不便,可是又没什么好的、快的方法,就只好用http协议+servelt来开发了。 这两天看了下新浪微博的SDK,然后看了下TCP和UDP,这些底层的知识要补一补了。 ...

happy90 193

面试:一个 TCP 连接可以发多少个 HTTP 请求

原文作者:松若章 来源:知乎 原文链接:https://zhuanlan.zhihu.com/p/61423830 一道经典的面试题是从 URL 在浏览器被被输入到页面展现的过程中发生了什么,大多数回答都是说请求响应之后 DOM 怎么被构建,被绘制出来。但是你有没有想过,收到的 HTML 如果包含几十个图片标签,这些图片是以什么方式、什么顺序、建立了多少连接、使用什么协议被下载下来...

ice-wee的专栏 355

使用 Netty 实现 HTTP 和 TCP

使用 Netty 实现 HTTP 和 TCPHttp ClientHttpClient 客户端HttpClientHandler 处理类Http ServerNettyHttpServer 服务端HttpServerInitializer 初始化类HttpServerRequestHandler 处理类Tcp ClientRpcRequest 实体类RpcResponse 实体类RpcEncoder 编码RpcDecoder 解码TcpClient 客户端TcpClientInitializer 初始化

weixin_44492502的博客 4837

HTTP协议与TCP、UDP的区别

HTTP协议与TCP、UDP的主要区别在于协议层次和功能特性。HTTP是应用层协议,基于TCP实现可靠传输,采用请求-响应模型;TCP提供面向连接的可靠传输,保证数据有序到达;UDP则是无连接的不可靠传输,适合实时应用。HTTP定义Web通信规则,TCP/UDP提供底层数据传输支持。选择依据:可靠传输用TCP+HTTP(如网页),实时性要求高用UDP(如视频会议)。

浩瀚之水的专栏 1008

HTTP协议

打开一个网站, 就是通过 HTTP 协议来传输数据的: 在浏览器中输入一个 搜狗搜索的 “网址” (URL) 时, 浏览器就给搜狗的服务器发送了一个 HTTP 请 求, 搜狗的服务器返回了一个 HTTP 响应. 这个响应结果被浏览器解析之后, 就展示成我们看到的页面内容. (这个过程中浏览器可能会给服务器发送 多个 HTTP 请求, 服务器会对应返回多个响应, 这些响应里就包含了页面 HTML, CSS, JavaScript, 图片, 字体等信息)通过TCP/IP,数据能从客户端进程经过路径选择跨网络传送

weixin_45715131的博客 3071

阿里一面:TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗?

之前有读者问了我这么个问题: 大致问题是,TCP 的 Keepalive 和 HTTP 的 Keep-Alive 是一个东西吗? 这是个好问题,应该有不少人都会搞混,因为这两个东西看上去太像了,很容易误以为是同一个东西。 事实上,这两个完全是两样不同东西,实现的层面也不同: HTTP 的 Keep-Alive,是由应用层(用户态)实现的,称为 HTTP 长连接; TCP 的 Keepalive,是由TCP 层(内核态)实现的,称为 TCP 保活机制; 接下来,分别说说它们。 HTT...

m0_64374605的博客 116

python-TCP 通信与 Web 服务器

一 . 实验目的 熟悉基于 Python 进行 TCP 套接字编程的基础知识,理解 HTTP 报文格式,能基于 Python 编写一个可以一次响应一个 HTTP 请求,并返回静态文件的简单 Web 服务器。 二 . 实验内容 利用 Python 开发一个可以一次处理一个 HTTP 请求的 Web 服务器,该服务器可以接受并解析HTTP 请求,然后从服务器的文件系统中读取被 HTTP 请求的文件,并根据该文件是否存在而向客户端发送正确的响应消息。 三 . 实验原理 基于 TCP 的面向客户端

m0_51273386的博客 1万+

基于混合TCP-UDP的HTTP协议实现方法

基于混合TCP-UDP的HTTP协议实现方法 文章作者:王 超 文章类型:设计应用 文章加入时间:2003年7月30日1:54 文章出处:单片机及嵌入式系统应用

学以致用,以用为本 1133

术语 HTTP,TCP, socket,RPC 与gRPC都是啥

HTTP与RPC的关系就好比普通话与方言的关系。要进行跨企业服务调用时,往往都是通过HTTPAPI,也就是普通话,虽然效率不高,但是通用,没有太多沟通的学习成本。但是在企业内部还是RPC更加高效,同一个企业公用一套方言进行高效率的交流,要比通用的HTTP协议来交流更加节省资源。整个中国有非常多的方言,正如有很多的企业内部服务各有自己的一套交互协议一样。虽然国家一直在提倡使用普通话交流,但是这么多年过去了,你回一趟家乡探个亲什么的就会发现身边的人还是流行说方言。httpshttps。......

qq_15821487的博客 1253
上一篇: 读取Spring配置文件几种方式
下一篇: WebService到底是什么?
三易的博客
博客等级 码龄15年 42粉丝 89原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值