我需要检测有人连接到我的电脑。我启用了传入连接,需要知道用户何时连接。最好来自CSharp
中的脚本答案 0 :(得分:9)
通常,无论使用何种语言,方法都是打开串口与调制解调器通信。对于.NET,您可能需要引用System.IO.Ports.SerialPort
。连接参数(波特率,数据位,停止位,奇偶校验,流量控制)取决于相关设备。尝试57600或最快的串口速度,8个数据位,1个停止位,无奇偶校验和硬件流控制;这是通常使用的。
Hayes兼容调制解调器在有人拨号时通过串口消费“RING”通知(计划文本)。您将调制解调器发送“AT A”以拨打电话(或调制解调器可配置为自动应答)。建立连接后,将从调制解调器发送“CONNECT XXX”,其中XXX是连接详细信息。有关Hayes命令的摘要,请参阅this Wikipedia link。 (它还描述了您可能需要进入的命令/数据模式等详细信息,如果您想通过调制解调器连接编程通信。)
答案 1 :(得分:0)
将DataReceived事件附加到您打开的串行端口 查看有关如何打开端口和附加处理程序的SerialPort文档。你需要知道端口速度和停止,启动位,奇偶校验等。尝试9600(bps)的速度,parity.none,没有握手,1停止和启动位...最好的办法是将所有内容保留为默认值只需要新的SerialPort(“COM5”)或任何你的com端口,所以你把东西保留为默认值。
继续将接收的数据放入缓冲区并继续扫描该缓冲区以“RING”。
当您的调制解调器响铃时,您的串口将真正收到“响铃”字样。所以你必须继续扫描它。
另外,我之所以说你把数据放在一个缓冲区是因为有时它会不按顺序到达。或者你可能想要一个readLine,所以它读取直到/ r(回车)表示一个完整的响应