Remoting或WCF下串口的共用问题

问题描述

我用Remoting的Windows应用或WCF的Windows服务建立了一个服务程序,服务程序会访问电脑上的一个串口进行一些读写操作,我测试了一下,按一般的方法去访问串口的话,当有多个客户端同时连接到服务程序去访问串口的话,最快的那个客户端可以正常的访问串口并返回数据,稍迟一点访问的客户端程序就会出问题。我想问的是,用什么样的方法或机制可以保证每个客户端通过服务程序都能正常访问串口并得到返回的数据,当然有的客户端稍微迟一点都没有关系。请大侠们提供一个思路,如果有这方面经验的,请多说几句,多谢!

解决方案

解决方案二:
提帖,请高手指点!

时间: 2024-11-02 11:03:45

Remoting或WCF下串口的共用问题的相关文章

linux下串口编程read函数返回(非超时返回)问题

问题描述 linux下串口编程read函数返回(非超时返回)问题 串口编程经典应用场景:打开串口,阻塞模式,非超时返回,有数据返回,无数据死等. 简易代码为例: void* read_thread(void* param) { char szbuf[128]; int size = 0; while (running) { size = read(fd, szbuf, sizeof(szbuf)); } return 0; } int main() { fd = open(port, O_RDW

Linux下串口通信异常的问题

问题描述 Linux下串口通信异常的问题 本人在linux下进行串口通信程序开发,把串口通信放在一条单独的线程里,问题来了,程序在启动另外一个计算线程后,串口通信出现异常.两线程间并没有任何数据共享,串口通信无论非组塞还是阻塞都有问题!请高手分析下原因! 解决方案 串口通信的帧同步问题 解决方案二: 出现异常是什么意思? 串口读和写是不同的线程么?还是就一个简单的线程啊?

Linux下串口编程入门

简介: Linux操作系统从一开始就对串行口提供了很好的支持,本文就Linux下的串行口通讯编程进行简单的介绍.   串口简介  串行口是计算机一种常用的接口,具有连接线少,通讯简单,得到广泛的使用.常用的串口是RS-232-C接口(又称EIA RS-232-C)它是在1970年由美国电子工业协会(EIA)联合贝尔系统.调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准.它的全名是"数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准"该标准规定

centos下串口自发自收c++代码实现

问题描述 centos下串口自发自收c++代码实现 各位大神求助 搞了两周了一直是一个问题 我是菜鸟 希望大家指点指点 我的问题是我想让串口(usb转rs232)实现自发自收功能 但每次read只能读到一个字符 在write后面加个延时函数 sleep 之后可以完整读到数据 但我老师说串口这种即时通讯怎么能延时 不合逻辑 代码如下: 主函数 main .cpp #include /*标准输入输出定义*/ #include /*标准函数库定义*/ #include /*Unix 标准函数定义*/

Win32API和Qt库实现win32下串口编程解决方法

使用的是Qt的界面,用了Qt的多线程,串口操作没有用控件,直接对Win32 API进行调用,大部分串口操作都封装在一个类中,在辅助线程中进行串口事件的设置和等待,根据我的需要,设置等待特定字符的到达,暂时设为'n',在NMEA语句中这是一条语句的结束符. 等到特定字符到达后,辅助线程emit一个信号给GUI主线程,在主线程中调用串口操作类进行非重叠读操作,读取的字节长度=此时输入缓冲区内字符串的长度,通过动态分配内存来满足需要.在主线程中将读取的字符串显示出来,然后释放动态分配的内存. 现在多线

WinCE下串口虚拟软件

    前段时间,介绍了一个WinCE下的串口调试软件Serial Splitter Mobile 3.2.它的主要功能是将一个物理串口克隆成N个,供不同的应用程序使用,以监视物理串口收发的数据.今天介绍一个WinCE下的串口虚拟软件VSPD Mobile 4.2.它的特点是可以创建N对纯虚拟串口,并实现虚拟串口对之间的通讯.很多GPS玩家应该都用过这软件.        VSPD Mobile 4.2使用截图如下:               如上图所示,通过VSPD,创建了一对虚拟串口COM

linux下串口调试工具xgcom安装

  minicom很好用,但有时候不够直观,推荐新人特别是习惯于windows下超级终端的用户使用xgcom. 安装方式如下: 我的系统是Ubuntu 12.04 LTS 1.从 http://code.google.com/p/xgcom/ 下载xgcom源代码.最新版本为 xgcom-0.04.2.tgz. 解压到/usr/local/src下 tar xvzf xgcom-0.04.2.tgz /usr/local/src 2.编译xgcom前需要安装几个所需的库make, automak

Linux下串口驱动解析

原文 一.核心数据结构 串口驱动有3个核心数据结构,它们都定义在<#include linux/serial_core.h> 1.uart_driver uart_driver包含了串口设备名.串口驱动名.主次设备号.串口控制台(可选)等信息,还封装了tty_driver(底层串口驱动无需关心tty_driver). struct uart_driver {     struct module     *owner;           /* 拥有该uart_driver的模块,一般为THIS

DOS下串口通信程序来传送文件的源代码

接收程序: #include <dos.h>#include <fstream.h>#include <conio.h>#include <stdio.h>#include <stdlib.h>#include <math.h>#define RXD 0 //接收#define TXD 0 //发送#define LSB 0 //波特率调节低8位#define MSB 1 //波特率调节高8位#define IER 1 // 中断起用