0

接続したい 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();
}
4

2 に答える 2

0

許可が拒否された場合、何かがコンピュータとの接続をブロックしています。ポートを開いて、それが機能するかどうかを確認します。Java ソケットの例が必要な場合は、私のSUPER Tic-Tac-Toe Multiplayerをご覧ください。クライアントが実行するアクションを表す方法として、Java ソケットを使用してクライアントに文字列を送信します。

于 2013-11-01T00:11:25.903 に答える