当前位置: 首页 > wzjs >正文

珠海正规网站制作合作沈阳房产网

珠海正规网站制作合作,沈阳房产网,怎样制作静态网站,wpf可以应用于网站开发吗目录 一、几种常见协议差别二、C# HTTP通讯协议代码示例三、C# Modbus TCP通讯协议代码示例四、C# Socket通讯协议代码示例 一、几种常见协议差别 在日常工作中我们总是会听到提到socket、tcp/ip协议、modbus tcp协议、HTTP协议等常用通讯协议,下面我们了解一下这些…

目录

  • 一、几种常见协议差别
  • 二、C# HTTP通讯协议代码示例
  • 三、C# Modbus TCP通讯协议代码示例
  • 四、C# Socket通讯协议代码示例

一、几种常见协议差别

在日常工作中我们总是会听到提到socket、tcp/ip协议、modbus tcp协议、HTTP协议等常用通讯协议,下面我们了解一下这些通讯协议的关系和区别,TCP/IP协议族通常分为‌四层:
在这里插入图片描述
TCP/IP协议族包含网络层(IP协议)和传输层(TCP/UDP协议),而应用层协议(如HTTP、Modbus TCP)运行在传输层之上。‌Socket‌是更底层的编程接口,支持TCP和UDP等协议。在C#中,Socket类提供了更灵活的控制,但需要处理更多底层细节,如连接管理、数据发送和接收‌,用于实现进程间网络通信‌。
下面这张图更加清楚的表明了这种关系。

在这里插入图片描述

二、C# HTTP通讯协议代码示例

下面代码展示了C# 使用HTTP协议通讯的整个过程。
下面是服务端伪代码:

HttpListener listener = new HttpListener();
listener.Prefixes.Add("http://127.0.0.1:5088/");
listener.Start();// 等待请求
HttpListenerContext context = listener.GetContext();
HttpListenerRequest request = context.Request;
HttpListenerResponse response = context.Response;// 读取请求体中的JSON数据
string jsonContent;
using (var reader = new StreamReader(request.InputStream, request.ContentEncoding))
{jsonContent = reader.ReadToEnd();Dictionary<string, object> dictionary = JsonConvert.DeserializeObject<Dictionary<string, object>>(jsonContent);
}

下面是客户端伪代码:

private static readonly HttpClient client = new HttpClient();
var values = new Dictionary<string, string> {{ "imgPath"," "}};
var content = new FormUrlEncodedContent(values);
HttpResponseMessage response = await client.PostAsync(url, content);
response.EnsureSuccessStatusCode();
pythonResult=await response.Content.ReadAsStringAsync();

三、C# Modbus TCP通讯协议代码示例

ModbusTCP modbusTCP = new ModbusTCP("192.168.3.1", 502);
modbusTCP.ConnectExecute();string strReadValue = modbusTCP.ReadExecute("real", byte.Parse("1"), ushort.Parse("24"));
modbusTCP.WriteExecute("real", "0", byte.Parse("1"), ushort.Parse("16"));public class ModbusTCP
{private ModbusFactory modbusFactory;private IModbusMaster master;private TcpClient tcpClient;public string IPAdress { get; set; }public int Port { get; set; }public bool Connected{get => tcpClient.Connected;}public ModbusTCP(string ip, int port){IPAdress = ip;Port = port;}public void WriteExecute(string VariableType, string WriteValue, byte SlaveID, ushort WriteAddress){try{if (VariableType == "real"){ushort[] buff = new ushort[2];float value = float.Parse(WriteValue);MODBUS.SetReal(buff, 0, value);WriteMultipleRegisters(SlaveID, WriteAddress, buff);}else if (VariableType == "string"){ushort[] buff = new ushort[10];MODBUS.SetString(buff, 0, WriteValue);WriteMultipleRegisters(SlaveID, WriteAddress, buff);}else if (VariableType == "Int16"){ushort[] buff = new ushort[1];short value = short.Parse(WriteValue);MODBUS.SetShort(buff, 0, value);WriteMultipleRegisters(SlaveID, WriteAddress, buff);}}catch (Exception ex){//Msg.Info(ex.Message);}}public string ReadExecute(string VariableType, byte SlaveID, ushort ReadAddress){string ReadValue = string.Empty;if (VariableType == "real"){ushort[] buff = ReadHoldingRegisters(SlaveID, ReadAddress, 2);float value = MODBUS.GetReal(buff, 0);ReadValue = value.ToString();}else if (VariableType == "string"){ushort[] buff = ReadHoldingRegisters(SlaveID, ReadAddress, 10);ReadValue = MODBUS.GetString(buff, 0, 10);}else if (VariableType == "Int16"){ushort[] buff = ReadHoldingRegisters(SlaveID, ReadAddress, 1);short value = MODBUS.GetShort(buff, 0);ReadValue = value.ToString();}return ReadValue;}public void ConnectExecute(){modbusFactory = new ModbusFactory();tcpClient = new TcpClient();tcpClient.Connect(IPAdress, Port);master = modbusFactory.CreateMaster(tcpClient);master.Transport.ReadTimeout = 2000;master.Transport.Retries = 5;}   

四、C# Socket通讯协议代码示例

Socket ClientSocket;
IPAddress ip = IPAddress.Parse("192.168.2.25");  //将IP地址字符串转换成IPAddress实例
int port = 2001;
IPEndPoint endPoint = new IPEndPoint(ip, port); //用指定的ip和端口号初始化IPEndPoint实例
//使用指定的地址簇协议、套接字类型和通信协议
ClientSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
ClientSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReceiveTimeout, true);     //必须先启用接收超时选项,设置接收超时才有用。   
ClientSocket.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, true);
ClientSocket.ReceiveTimeout = 3000;
ClientSocket.SendTimeout = 1000;
ClientSocket.Connect(endPoint);//上面是ClientSocket初始化,下面是发送和接受的过程
byte[] byteArray = System.Text.Encoding.Default.GetBytes("start");
int W = ClientSocket.Send(byteArray, byteArray.Length, SocketFlags.None);
while (true)
{byte[] recv_buffer = new byte[1024];int real_recv = ClientSocket.Receive(recv_buffer);  //接收浏览器的请求数据if (real_recv > 0){qrcodeContent = Encoding.UTF8.GetString(recv_buffer, 0, real_recv);qrcodeContent = qrcodeContent.Trim();break;}}

文章转载自:

http://oKbUCKpG.pqwrg.cn
http://T3PzwXJN.pqwrg.cn
http://b18C0sbR.pqwrg.cn
http://IIE1iaOR.pqwrg.cn
http://0vfilpMl.pqwrg.cn
http://TOdeuOkA.pqwrg.cn
http://AUV5MSVc.pqwrg.cn
http://rIiwj8vl.pqwrg.cn
http://rASNllDB.pqwrg.cn
http://864MAeyB.pqwrg.cn
http://Mg2CngcG.pqwrg.cn
http://gN5rqD2M.pqwrg.cn
http://MMESI5Eb.pqwrg.cn
http://7iLJgHoI.pqwrg.cn
http://2cWNadCk.pqwrg.cn
http://pk4TJf4F.pqwrg.cn
http://jYlI3Yod.pqwrg.cn
http://D3qRp4jX.pqwrg.cn
http://3RTgwcDQ.pqwrg.cn
http://sYZLBTPp.pqwrg.cn
http://FiKncpdk.pqwrg.cn
http://G3vZKTZj.pqwrg.cn
http://v1c7qhSD.pqwrg.cn
http://X2fzYPvw.pqwrg.cn
http://3idOj3Aj.pqwrg.cn
http://F4KA6rXf.pqwrg.cn
http://G8rZhTOd.pqwrg.cn
http://8ktDvrbM.pqwrg.cn
http://neP9HMdv.pqwrg.cn
http://1gIVuBNY.pqwrg.cn
http://www.dtcms.com/wzjs/763507.html

相关文章:

  • 自做衣服网站成都到西安火车
  • 百度集团网站建设方案网页美工设计之中使用的主要软件是
  • 网站建设 翻译社交app定制
  • 中国黄金建设网站海城整站优化
  • 网络运维工程师面试题网站seo优化主要有哪些手段
  • 雷州手机网站建设新十条优化措施
  • 杭州网站建设兼职flask网站开发
  • 商城网站结算页面怎么做企业管理培训课程图片
  • 个人秀网站帮别人做网站需要什么能力
  • 网站建设优化推广哈尔滨建网站的公司浩森宇特
  • 禅城区城乡建设局网站网络推广 网站制作
  • 深圳网站建设全包设计网站软件开发
  • 司法局网站建设工作汇报优秀营销策划方案
  • 西安做网站建设的公司免费的产品展示小程序
  • 外贸建站及推广威联通WordPress
  • 宿迁莱布拉网站建设敦煌网跨境电商平台
  • 深圳网站制作公司多少钱广告支持模式的网站
  • 小白学做搭建网站wordpress插件百度
  • 一个网站需要哪些东西北京响应式网站制作公司
  • wordpress装饰插件南昌关键词优化软件
  • 百度指数的网站关键词优化seo外包
  • 彩票的网站怎么做中小企业上市公司名单
  • 南京模板建站哪家好网站页面设计说明
  • 企业网站建设大概的费用网站源码酒类
  • 网站建设销售简历广东东莞工厂
  • 江苏建设厅官方网站安全员wordpress图片不显示图片
  • php户外运动产品企业网站源码安徽城乡建设 厅网站
  • 注册一个网站需要多少钱新媒体营销有哪些岗位
  • 推广优化公司网站网站建设的空间是什么
  • 做网站资讯运营关键词排名优化咨询