lrs_create_socket("socket0", "TCP", "LocalHost=0", "RemoteHost=128.0.98.181:7456", LrsLastArg);
lrs_send("socket0", "buf0", LrsLastArg);
lrs_receive("socket0", "buf1", LrsLastArg);
lrs_save_param("socket0", LRS_LAST_RECEIVED, "WSHPort", 534, 2);
lrs_close_socket("socket0");
port = lr_eval_string("<WSHPort>");
lrs_hex_string_to_int(port, strlen(port), &i);
sprintf(portString, "RemoteHost=128.0.98.181:%d", i);
lrs_create_socket("socket1", "TCP", "LocalHost=0", portString, LrsLastArg);
在这个例子中,一共建立两个socket,第一个socket的端口是固定的,第二个socket的端口是从服务器之前返回的数据包buf1中(具体是534和535两个字节)获得的。
你应该先搞清楚那个动态的端口号是如何产生的,这样就好办了。 |