接続したい 1 つのネットワークに 2 台の PC があります。そのうちの 1 つは、TCP 経由でもう一方に通知を送信する必要があります。1台のPCには、「クライアント」(Jarファイル)が特定の文字列を送信するのを待つ「サーバー」(Pythonスクリプト)ソケットがあり、通知が表示されます。1 台の PC で試してみると、これは完全に正常に動作します。しかし、意図したアクションを実行したい場合、「クライアント」PC.jar
から接続が拒否されたというエラーが表示されます。他の PC で特定のポートを開く必要がありますか、それとも他に何が問題を引き起こす可能性がありますか? 1 台の PC で Fedora を実行し、もう 1 台の Windows 8 を実行します
「サーバーコード」
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(("", 5005))
s.listen(1)
try:
while True:
komm, addr = s.accept()
while True:
data = komm.recv(1024)
if data == "$":
noty()
if not data:
komm.close()
break
finally:
s.close()
「クライアント」コード
public static void main(String[] args) throws Exception {
Socket socket = new Socket("192.168.178.25", 5005);
OutputStream out = socket.getOutputStream();
String dat = "$";
out.write(dat.getBytes());
socket.close();
}