CommunicationBase.cs 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. namespace Dispatch
  6. {
  7. /// <summary>
  8. /// 接收事务数据
  9. /// </summary>
  10. public class ReceivedEventArgs : EventArgs
  11. {
  12. /// <summary>
  13. /// 字节缓存
  14. /// </summary>
  15. public byte[] buffer;
  16. /// <summary>
  17. /// 类型
  18. /// </summary>
  19. public string type;
  20. }
  21. /// <summary>
  22. /// 虚拟通信基类
  23. /// </summary>
  24. public abstract class CommunicationBase
  25. {
  26. /// <summary>
  27. /// 发送数据
  28. /// </summary>
  29. /// <param name="buffer"></param>
  30. /// <param name="o"></param>
  31. public abstract void SendData(byte[] buffer,object o);
  32. /// <summary>
  33. /// 接收事件操作
  34. /// </summary>
  35. /// <param name="o"></param>
  36. /// <param name="e"></param>
  37. public delegate void ReceivedEventHandler(object o, ReceivedEventArgs e);
  38. /// <summary>
  39. /// 接收事件
  40. /// </summary>
  41. public event ReceivedEventHandler ReceivedEvent;
  42. /// <summary>
  43. /// 打开联接
  44. /// </summary>
  45. public abstract void Open();
  46. /// <summary>
  47. /// 关闭联接
  48. /// </summary>
  49. public abstract void Close();
  50. private bool isOpen;
  51. /// <summary>
  52. /// 通信标识
  53. /// </summary>
  54. /// <returns></returns>
  55. public virtual object GetTag()
  56. {
  57. return null;
  58. }
  59. /// <summary>
  60. /// 联接是否打开
  61. /// </summary>
  62. public bool IsOpen
  63. {
  64. get { return isOpen; }
  65. set { isOpen = value; }
  66. }
  67. /// <summary>
  68. /// 接收信息处理
  69. /// </summary>
  70. /// <param name="o"></param>
  71. /// <param name="e"></param>
  72. protected virtual void OnReceivedEvent(object o, ReceivedEventArgs e)
  73. {
  74. if (ReceivedEvent != null)
  75. {
  76. ReceivedEvent(o, e);
  77. }
  78. }
  79. /// <summary>
  80. /// 释放联接
  81. /// </summary>
  82. public virtual void Dispose()
  83. {
  84. }
  85. }
  86. }