python:socket:programming

差分

このページの2つのバージョン間の差分を表示します。

この比較画面へのリンク

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
python:socket:programming [2020/05/31 02:22] ともやんpython:socket:programming [2021/06/25 15:48] (現在) ともやん
行 1: 行 1:
-<html> 
-  <style> 
-    #result pre, #mincode pre { 
-      overflow: hidden; 
-      font-size: 10px; 
-    } 
-    #result_long pre { 
-      height: 250px; 
-      overflow: scroll; 
-      overflow-x: hidden; 
-      font-size: 10px; 
-    } 
-    #mintbl table { 
-      font-size: 12px; 
-    } 
-    #mintbl td pre { 
-      margin: 0; 
-    } 
-    #img_long { 
-      height: 400px; 
-      overflow: scroll; 
-      overflow-x: hidden; 
-    } 
-    .dokuwiki .plugin_wrap table { 
-      width: auto; 
-    } 
-    #logo { 
-      background-color: white; 
-      padding: 10px; 
-      width: fit-content; 
-    } 
-    #logo p { 
-      margin: 0; 
-    } 
-  </style> 
-</html> 
 ====== Python ソケット プログラミング ====== ====== Python ソケット プログラミング ======
  
行 49: 行 13:
 from traceback import print_exc from traceback import print_exc
  
-DEFAULT_PORT = 7+DEFAULT_PORT = 7 # 7 or 9 or 30000 ? 
 +#BROADCAST_IPADDR = '<broadcast>' 
 +BROADCAST_IPADDR = '255.255.255.255'
  
 def send_magic_packet(mac_addr, port=DEFAULT_PORT): def send_magic_packet(mac_addr, port=DEFAULT_PORT):
行 56: 行 22:
         sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)         sock.setsockopt(socket.SOL_SOCKET, socket.SO_BROADCAST, 1)
         # parse address         # parse address
-        mac_addr = mac_addr.upper() +        wol_mac = mac_addr.upper().replace('-', '').replace(':', '')
-        wol_mac = mac_addr.replace('-', '').replace(':', '')+
         if len(wol_mac) != 12:         if len(wol_mac) != 12:
-            raise Exception('Invalid MAC address format: {}'.format(mac_addr))+            raise Exception('invalid MAC address format: {}'.format(mac_addr))
         buf = b'f' * 2 * 6 + (wol_mac * 16).encode()         buf = b'f' * 2 * 6 + (wol_mac * 16).encode()
         # encode to magic packet payload         # encode to magic packet payload
行 68: 行 33:
         # send magic packet         # send magic packet
         print('Sending magic packet for: {}, broadcast port is {} ...'.format(mac_addr, port))         print('Sending magic packet for: {}, broadcast port is {} ...'.format(mac_addr, port))
-        sock.sendto(magic_packet, ('<broadcast>', port))+        sock.sendto(magic_packet, (BROADCAST_IPADDR, port))
  
 def parse_args(): def parse_args():
     parser = argparse.ArgumentParser()     parser = argparse.ArgumentParser()
     parser.add_argument('mac_address', help='Target MAC address.', type=str)     parser.add_argument('mac_address', help='Target MAC address.', type=str)
-    parser.add_argument('-p', '--port', metavar='port',+    parser.add_argument('-p', '--port',
                         help='Default broadcast port is {}.'.format(DEFAULT_PORT),                         help='Default broadcast port is {}.'.format(DEFAULT_PORT),
                         default=DEFAULT_PORT, type=int)                         default=DEFAULT_PORT, type=int)
行 84: 行 49:
  
     try:     try:
 +        #mac_addr = "AA:BB:CC:DD:EE:FF"
         send_magic_packet(mac_addr, port)         send_magic_packet(mac_addr, port)
  
行 142: 行 108:
 [[https://emptypage.jp/gadgets/wol.html|wol.py]]\\ [[https://emptypage.jp/gadgets/wol.html|wol.py]]\\
 [[http://e-words.jp/w/%E3%83%9E%E3%82%B8%E3%83%83%E3%82%AF%E3%83%91%E3%82%B1%E3%83%83%E3%83%88.html|マジックパケットとは - IT用語辞典 e-Words]]\\ [[http://e-words.jp/w/%E3%83%9E%E3%82%B8%E3%83%83%E3%82%AF%E3%83%91%E3%82%B1%E3%83%83%E3%83%88.html|マジックパケットとは - IT用語辞典 e-Words]]\\
 +[[https://www.atmarkit.co.jp/ait/articles/2004/20/news021.html|【リモートワーク自由自在】Windows 10 Wake On LAN(WoL)入門 (1/2):WoLでPCを起動 - @IT]]\\
  
  • python/socket/programming.1590859347.txt.gz
  • 最終更新: 2020/05/31 02:22
  • by ともやん