使用ASP.NET 实现HL7数据交互二

使用HL7交互的一般是Socket;也可以用Webservice;

二、Socke通信方式

了解Socket怎么通信的:

1、什么是Socket

在计算机通信领域,socket 被翻译为“套接字”,它是计算机之间进行通信一种约定或一种方式。通过 socket 这种约定,一台计算机可以接收其他计算机的数据,也可以向其他计算机发送数据
  socket起源于Unix,而Unix/Linux基本哲学之一就是“一切皆文件”,都可以用“打开open –> 读写write/read –> 关闭close”模式来操作。
  我的理解就是Socket就是该模式的一个实现:即socket是一种特殊的文件,一些socket函数就是对其进行的操作(读/写IO、打开、关闭)。
  Socket()函数返回一个整型的Socket描述符,随后的连接建立、数据传输等操作都是通过该Socket实现的。

2、网络中进程如何通信

既然Socket主要是用来解决网络通信的,那么我们就来理解网络中进程是如何通信的。

a、消息传递(管道、消息队列、FIFO)
  b、同步(互斥量、条件变量、读写锁、文件和写记录锁、信号量)?【不是很明白】
  c、共享内存(匿名的和具名的,eg:channel)
  d、远程过程调用(RPC)

2.2、网络中进程如何通信

我们要理解网络中进程如何通信,得解决两个问题:
  a、我们要如何标识一台主机,即怎样确定我们将要通信的进程是在那一台主机上运行。
  b、我们要如何标识唯一进程,本地通过pid标识,网络中应该怎样标识?
解决办法:
  a、TCP/IP协议族已经帮我们解决了这个问题,网络层的“ip地址”可以唯一标识网络中的主机
  b、传输层的“协议+端口”可以唯一标识主机中的应用程序(进程),因此,我们利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互

3、Socket怎么通信

现在,我们知道了网络中进程间如何通信,即利用三元组【ip地址,协议,端口】可以进行网络间通信了,那我们应该怎么实现了,因此,我们socket应运而生,它就是利用三元组解决网络通信的一个中间件工具,就目前而言,几乎所有的应用程序都是采用socket,如UNIX BSD的套接字(socket)和UNIX System V的TLI(已经被淘汰)。
Socket通信的数据传输方式,常用的有两种:
  a、SOCK_STREAM:表示面向连接的数据传输方式。数据可以准确无误地到达另一台计算机,如果损坏或丢失,可以重新发送,但效率相对较慢。常见的 http 协议就使用 SOCK_STREAM 传输数据,因为要确保数据的正确性,否则网页不能正常解析。
  b、SOCK_DGRAM:表示无连接的数据传输方式。计算机只管传输数据,不作数据校验,如果数据在传输中损坏,或者没有到达另一台计算机,是没有办法补救的。也就是说,数据错了就错了,无法重传。因为 SOCK_DGRAM 所做的校验工作少,所以效率比 SOCK_STREAM 高。
  例如:QQ 视频聊天和语音聊天就使用 SOCK_DGRAM 传输数据,因为首先要保证通信的效率,尽量减小延迟,而数据的正确性是次要的,即使丢失很小的一部分数据,视频和音频也可以正常解析,最多出现噪点或杂音,不会对通信质量有实质的影响

HL7协议与医疗平台已建立好服务端;我们需要根据ip:port来建立客户端与之通信。

       public static string SocketHelpTest0 ()
        {       
         SocketHelpTest SocketHelpTest0 = new Common.SocketHelpTest();

                List<string> listByte = new List<string>();
                string strMSH = @"MSH|^~\&|ECG|MedEx|HIS|WinningSoft|" + DateTi
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
使用ASP.NET实现图书管理系统是一个常见的Web应用程序开发项目,它利用Microsoft的ASP.NET框架来构建功能强大的后台系统。以下是实现这样一个系统的步骤和关键组件: 1. **基础设置**: - 安装Visual Studio:选择最新版本的Visual Studio,它是开发ASP.NET应用的主要IDE。 - 选择模板:在新建项目时,选择“ASP.NET Web 应用程序”,然后可以选择“MVC”模板,这是.NET MVC框架的推荐选择。 2. **模型(Model)**: - 创建数据模型:为图书、作者、分类等创建对应的实体类,使用Entity Framework或LINQ to SQL管理数据交互。 - 数据库设计:设计数据库结构,包括表、字段和关联关系。 3. **视图(View)**: - 使用ASP.NET MVC的视图引擎:Razor视图语法编写HTML,结合C#代码来动态显示数据和处理用户输入。 - 构建UI:包括搜索框、列表展示、详情页、添加/编辑图书等功能的界面设计。 4. **控制器(Controller)**: - 实现业务逻辑:控制器接收视图传来的数据,处理用户的请求,调用模型中的方法并返回响应。 - 行动方法:如IndexAction显示图书列表,AddAction处理新书添加请求等。 5. **身份验证和授权**: - 添加用户认证:使用ASP.NET Identity或第三方认证服务如OAuth。 - 权限控制:对不同用户或角色进行权限设置,保护敏感操作。 6. **CRUD操作**: - 创建(Create):允许用户添加新的图书信息。 - 阅读(Read):显示图书详细信息和搜索功能。 - 更新(Update):修改已有的图书信息。 - 删除(Delete):确认删除操作的安全性和有效性。 7. **错误处理和异常处理**: - 针对可能出现的错误,设置全局错误处理和详细的异常日志记录。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值