簡體   English   中英

套接字服務器-獲取連接的用戶的IP

[英]socket server - getting a connected user's ip

我剛剛開始制作一個簡單的套接字“聊天”服務器,用戶可以通過telnet連接到我的服務器。 我想知道如何獲取連接的用戶的IP地址,以便它可以像這樣打印出用戶消息:

IP address: "Hello"

這是我到目前為止使用的代碼:

def broadcast(self, message):
      for sessions in self.sessions:
          sessions.push('>>' + message + '\r\n')

在此先感謝,如果您需要更多信息,請詢問。

編輯:

整個程序的鏈接: http//pastebin.com/9vzuiLZe

<your-socket-instance>.getpeername()將為您提供所需內容

您應該添加到代碼中:

class ChatSession(async_chat):
    def __init__(self,server,sock):
        async_chat.__init__(self, sock)
        self.server = server
        self.set_terminator("\r\n")
        self.data = []
        self.sock = sock # <--- add this, so you remember the socket object

然后使用@staticd建議的內容:

def broadcast(self, line):
    for sessions in self.sessions:
        sessions.push(sessions.sock.getpeername() + ': ' + line + '\r\n')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM