{"id":446,"date":"2009-08-17T16:04:51","date_gmt":"2009-08-17T21:04:51","guid":{"rendered":"http:\/\/appcrawler.com\/wordpress\/?p=446"},"modified":"2011-07-06T10:37:16","modified_gmt":"2011-07-06T15:37:16","slug":"port-checker","status":"publish","type":"post","link":"http:\/\/appcrawler.com\/wordpress\/2009\/08\/17\/port-checker\/","title":{"rendered":"Port checker"},"content":{"rendered":"<p>This was useful when we testing a migration between database servers.<\/p>\n<pre lang=\"python\" line=\"1\">\r\nimport socket\r\nimport sys\r\n\r\nfor i in range(1,5):\r\n  try:\r\n    HOST = \"foo\" + str(i)\r\n    PORT = 2484\r\n    print HOST + \" \" + str(PORT)\r\n    sock = socket.socket()\r\n    sock.connect((HOST, int(PORT)))\r\n    print \"got socket\"\r\n    PORT = \"640\" + str(i)\r\n    print HOST + \" \" + str(PORT)\r\n    sock = socket.socket()\r\n    sock.connect((HOST, int(PORT)))\r\n    print \"got socket\"\r\n  except:\r\n    print sys.exc_info()[1]\r\n<\/pre>\n<p>It should yield something similar to what is below&#8230;<\/p>\n<pre lang=\"text\" line=\"1\">\r\nC:\\>mysock.py\r\nfoo1 2484\r\ngot socket\r\nfoo1 6401\r\ngot socket\r\nfoo2 2484\r\ngot socket\r\nfoo2 6402\r\ngot socket\r\nfoo3 2484\r\ngot socket\r\nfoo3 6403\r\ngot socket\r\nfoo4 2484\r\ngot socket\r\nfoo4 6404\r\ngot socket\r\n\r\nC:\\>\r\n<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>This was useful when we testing a migration between database servers. import socket import sys for i in range(1,5): try: HOST = &#8220;foo&#8221; + str(i) PORT = 2484 print HOST + &#8221; &#8221; + str(PORT) sock = socket.socket() sock.connect((HOST, int(PORT)))&hellip;<\/p>\n<p class=\"more-link-p\"><a class=\"more-link\" href=\"http:\/\/appcrawler.com\/wordpress\/2009\/08\/17\/port-checker\/\">Read more &rarr;<\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_mi_skip_tracking":false,"footnotes":""},"categories":[24,28,27,26],"tags":[],"_links":{"self":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/446"}],"collection":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/comments?post=446"}],"version-history":[{"count":9,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/446\/revisions"}],"predecessor-version":[{"id":1381,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/posts\/446\/revisions\/1381"}],"wp:attachment":[{"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/media?parent=446"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/categories?post=446"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/appcrawler.com\/wordpress\/wp-json\/wp\/v2\/tags?post=446"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}