Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# LPD-接收数据的长度始终相同_C#_Virtual Printer - Fatal编程技术网

C# LPD-接收数据的长度始终相同

C# LPD-接收数据的长度始终相同,c#,virtual-printer,C#,Virtual Printer,我正在使用现有的解决方案编写虚拟打印机。接收数据子命令有问题 +----+-------+----+------+----+ | 03 | Count | SP | Name | LF | +----+-------+----+------+----+ Command code - 3 Operand 1 - Number of bytes in data file Operand 2 - Name of data file 每当我处理这个命令时,数据文件大小Count总是一个奇怪的大数字12

我正在使用现有的解决方案编写虚拟打印机。接收数据子命令有问题

+----+-------+----+------+----+
| 03 | Count | SP | Name | LF |
+----+-------+----+------+----+
Command code - 3
Operand 1 - Number of bytes in data file
Operand 2 - Name of data file
每当我处理这个命令时,数据文件大小Count总是一个奇怪的大数字125899906843000。我被困在这里,我不知道为什么会这样。有人知道哪里会有问题吗?谢谢


编辑:

我已经找到了问题所在。这是我自己问题的答案。问题是因为微软发送的数据太大了,而不是文件的实际大小(以字节为单位)。有两种方法可以解决此问题:

  • 编辑虚拟打印机的TCP/IP端口并启用LRP字节计数。这将强制Windows计算文件中的字节数,并在接收数据文件子命令中发送此值
  • 修改RPM,以便它通过接收来自发送数据文件请求的所有数据来处理“未知长度文件”情况,直到LPR客户端关闭连接