瀏覽代碼

allow setting the port to listen on via cmdline argument

Grant Limberg 1 年之前
父節點
當前提交
219133a2c8
共有 1 個文件被更改,包括 11 次插入1 次删除
  1. 11 1
      tcp-proxy/tcp-proxy.cpp

+ 11 - 1
tcp-proxy/tcp-proxy.cpp

@@ -321,11 +321,21 @@ int main(int argc,char **argv)
 	svc.phy = &phy;
 	svc.udpPortCounter = 1023;
 
+	uint16_t listenPort = ZT_TCP_PROXY_TCP_PORT;
+	if (argc > 1) {
+		listenPort = (uint16_t)atoi(argv[1]);
+	}
+
+	if (listenPort == 0) {
+		fprintf(stderr,"%s: fatal error: invalid port number\n",argv[0]);
+		return 1;
+	}
+	
 	{
 		struct sockaddr_in laddr;
 		memset(&laddr,0,sizeof(laddr));
 		laddr.sin_family = AF_INET;
-		laddr.sin_port = htons(ZT_TCP_PROXY_TCP_PORT);
+		laddr.sin_port = htons(listenPort);
 		if (!phy.tcpListen((const struct sockaddr *)&laddr)) {
 			fprintf(stderr,"%s: fatal error: unable to bind TCP port %d\n",argv[0],ZT_TCP_PROXY_TCP_PORT);
 			return 1;