使用带有 GLINK LT RS-232 适配器的 Commodore 64,连接到配置为将 RAW TCP 发送到我家庭网络上的静态 IP/端口的 Digi-Connect SP。Destination 是一个 socat 进程,通过详细日志记录将流量传递到其他地方。
在 OS X 机器上测试从 bash shell 命中 socat,发出curl http://192.168.1.91:1234
I get a valid response 并且 socat 日志显示
> 2018/12/29 22:06:50.168550 length=81 from=0 to=80
GET / HTTP/1.1\r
Host: 192.168.1.91:1234\r
User-Agent: curl/7.54.0\r
Accept: */*\r
\r
< 2018/12/29 22:06:50.169509 length=144 from=0 to=143
(followed by http response)
但是当我在 C64 BASIC 代码片段上运行以下命令时:
100 OPEN 2,2,3,CHR$(6)+CHR$(0)
110 GET#2,A$: REM TOSS NULL TO OPEN RCVR CHANNEL
120 PRINT#2,"GET /"
...
socat 日志显示:
> 2018/12/29 22:11:38.952005 length=1 from=167 to=167
G> 2018/12/29 22:11:38.983674 length=1 from=168 to=168
E> 2018/12/29 22:11:39.015464 length=1 from=169 to=169
T> 2018/12/29 22:11:39.051758 length=1 from=170 to=170
> 2018/12/29 22:11:39.084476 length=1 from=171 to=171
/> 2018/12/29 22:11:39.117131 length=1 from=172 to=172
我不确定我是否在 C64 端做错了什么导致发送单个字符,或者它是否是不正确的 Digi-Connect 设置。
Digi 串行设置为:
- TCP 客户端设置:
- 自动建立 TCP 连接
- 始终连接并保持连接
- 建立与以下网络服务的连接:
- 服务器:192.168.1.91
- 服务:原始 TCP
- TCP 端口:1234
- 启用 TCP 保持活动:开
- 自动建立 TCP 连接
- 基本串行设置
- 波特:300
- 数据位:8
- 奇偶校验:无
- 停止位:0
- 流量控制:硬件
- 高级串行设置
- (这里没有配置)