From 0f48a323e245324c515239abb5bf8888806774e3 Mon Sep 17 00:00:00 2001 From: wangyu Date: Sat, 22 Jul 2017 16:19:06 +0800 Subject: [PATCH] fix broken udp --- main.cpp | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/main.cpp b/main.cpp index 18defd3..8e3498b 100755 --- a/main.cpp +++ b/main.cpp @@ -48,7 +48,7 @@ using namespace std; const int mode_tcp=0; const int mode_udp=1; const int mode_icmp=2; -int raw_mode=mode_icmp; +int raw_mode=mode_udp; char local_address[100], remote_address[100],source_address[100]; int local_port = -1, remote_port = -1; @@ -354,8 +354,6 @@ int pre_recv(char * data, int &data_len) uint64_t recv_seq =(seq_high<<32u )+seq_low; - - if((prog_mode==client_mode&&client_current_state==client_ready) ||(prog_mode==server_mode&&server_current_state==server_ready )) { @@ -1826,7 +1824,11 @@ int keep_connection_client() //for client anti_replay.re_init(); // this is not safe g_packet_info_send.src_port = client_bind_to_a_new_port(); - g_packet_info_send.dst_port =g_packet_info_send.src_port ; + + if(raw_mode==mode_icmp) + { + g_packet_info_send.dst_port =g_packet_info_send.src_port ; + } printf("using port %d\n", g_packet_info_send.src_port); g_packet_info_send.src_ip = inet_addr(source_address);