Привет всем
Я пытаюсь узнать больше о сокетах и как их использовать, и я застрял в проблеме на некоторое время.
Я начал с руководства Биджа по сетевому программированию и создал докладчик и слушатель из этой страницы на компьютере с Linux, на котором я работаю. Это работает, и я могу заставить его говорить друг с другом.
Затем я перешел к Windows (7) и работал с этим учебным пособием, включил его в работу и могу отправлять сообщения себе на машине с Windows. Единственное изменение, которое у меня есть, это то, что я использую getHostbyAddr, а не по имени.
Именно когда я склеиваю их вместе, у меня начинаются проблемы, или, вернее, одна проблема сейчас. Я запускаю слушатель из Beej на машине с Linux и пытаюсь заставить клиента от Johnnie отправить ему сообщение. Я получаю ошибку winsock 10061 на машине с Windows, и на Linux никогда ничего не появляется (что неудивительно). Я проверил это с брандмауэром на Linux, и я все еще получаю эту ошибку.
Что я могу сделать, чтобы это исправить?
Спасибо
Отредактировано для добавления дополнительной информации:
Когда я запускаю tcpdump, я получаю это
[root@localhost ~]# tcpdump tcp port 4950
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
12:08:56.246753 IP TLARGE.WIFI.schoolname.EDU.62394 > hmd46.cs.schoolname.edu.sybasesrvmon: Flags [S], seq 150153995, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
12:08:56.246794 IP hmd46.cs.schoolname.edu.sybasesrvmon > TLARGE.WIFI.schoolname.EDU.62394: Flags [R.], seq 0, ack 150153996, win 0, length 0
12:08:56.746170 IP TLARGE.WIFI.schoolname.EDU.62394 > hmd46.cs.schoolname.edu.sybasesrvmon: Flags [S], seq 150153995, win 8192, options [mss 1460,nop,wscale 2,nop,nop,sackOK], length 0
12:08:56.746221 IP hmd46.cs.schoolname.edu.sybasesrvmon > TLARGE.WIFI.schoolname.EDU.62394: Flags [R.], seq 0, ack 1, win 0, length 0
12:08:57.246138 IP TLARGE.WIFI.schoolname.EDU.62394 > hmd46.cs.schoolname.edu.sybasesrvmon: Flags [S], seq 150153995, win 8192, options [mss 1460,nop,nop,sackOK], length 0
12:08:57.246185 IP hmd46.cs.schoolname.edu.sybasesrvmon > TONJELARGE.WIFI.schoolname.EDU.62394: Flags [R.], seq 0, ack 1, win 0, length 0
^C
6 packets captured
6 packets received by filter
0 packets dropped by kernel
Запуск netstat дает мне это:
[root@localhost ~]# netstat -tlnp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:58661 0.0.0.0:* LISTEN 1083/rpc.statd
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 1013/rpcbind
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1265/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 1148/cupsd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 1554/sendmail: acce
tcp 0 0 :::56315 :::* LISTEN 1083/rpc.statd
tcp 0 0 :::111 :::* LISTEN 1013/rpcbind
tcp 0 0 :::22 :::* LISTEN 1265/sshd
tcp 0 0 ::1:631 :::* LISTEN 1148/cupsd
Оба они были с Linux-машины