From 33c8e3f3dad88578546c536367913b7031e10b85 Mon Sep 17 00:00:00 2001 From: CGH0S7 <776459475@qq.com> Date: Sat, 10 Jan 2026 10:42:08 +0800 Subject: [PATCH] tcp/quic lab and switch gitignore updated --- .gitignore | 10 +++++++++- network/tcpquiclab/quic_client | Bin 29928 -> 0 bytes network/tcpquiclab/quic_perf_client | Bin 30104 -> 0 bytes network/tcpquiclab/quic_perf_client.c | 4 ++-- network/tcpquiclab/quic_perf_server | Bin 31416 -> 0 bytes network/tcpquiclab/quic_server | Bin 31488 -> 0 bytes network/tcpquiclab/tcp_client | Bin 18816 -> 0 bytes network/tcpquiclab/tcp_perf_client | Bin 18808 -> 0 bytes network/tcpquiclab/tcp_perf_client.c | 2 +- network/tcpquiclab/tcp_perf_server | Bin 19616 -> 0 bytes network/tcpquiclab/tcp_server | Bin 19400 -> 0 bytes 11 files changed, 12 insertions(+), 4 deletions(-) delete mode 100755 network/tcpquiclab/quic_client delete mode 100755 network/tcpquiclab/quic_perf_client delete mode 100755 network/tcpquiclab/quic_perf_server delete mode 100755 network/tcpquiclab/quic_server delete mode 100755 network/tcpquiclab/tcp_client delete mode 100755 network/tcpquiclab/tcp_perf_client delete mode 100755 network/tcpquiclab/tcp_perf_server delete mode 100755 network/tcpquiclab/tcp_server diff --git a/.gitignore b/.gitignore index d583f7a..2594633 100644 --- a/.gitignore +++ b/.gitignore @@ -4,4 +4,12 @@ case.tgz .cache/ *.backup build/ -.vscode/ \ No newline at end of file +.vscode/ +tcp_client +tcp_perf_client +quic_client +quic_perf_client +tcp_server +tcp_perf_server +quic_server +quic_perf_server diff --git a/network/tcpquiclab/quic_client b/network/tcpquiclab/quic_client deleted file mode 100755 index 71950b470ae2f872a60d3fb321b3bcb5336f4dc0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 29928 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 X!$`U9m!obn{@PnzrX4v9IiUDY@%!LB diff --git a/network/tcpquiclab/quic_perf_client b/network/tcpquiclab/quic_perf_client deleted file mode 100755 index f3824372816e1664edcb37bb357ea4b29acafd00..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30104 zcmeHwdwf*Ywf{b6=1eA;WD@d#gy#f79!e4r5l}QCOqd8HF$4sy9wx~o8AxX0%!G&d zphB!EmutAK*4y5z=%@PA-k<&9y|o{tqN%okwpFm!+TPwPw^!Os?X_stVzuV?UHdUP zGvwHNe}DY`%7Hm+ueH}&d+oI!XP-TLR_^q#t0l$dAt^T` zt-!j-qbid@$0wU zPgiz_TbC@Z>~3Gs9gg(vT(EQLk_Af^SHzqvxazy~Bq7 zPd4;yn{qF;;jgo?|E!Ikf3x9VXrupcZ1j}b@V{ci@3!HeYcnpsX~TcUhW@M#{a?UYq&iOB|XtZrc@-fV+=i1X1KjOWG2Erp=e*ih9w?~wEs1; zI%1*BGO1PC;5sh1z;BOdVC4}0n=0?nL+-&QP#zSdL z+@n@0Vhf?^TD!yXt_)t3YwrhZMab7_N;4`?or5<@hRv#}t-3B~zV2vSu-l?t3AMGE z!S2pzES%`-$;jRwiiJCNnZ2P><;;c6mi$!DTsi=-b0^K{tIztJPi3EGlvCX!f zL9-(q33gKt?Fsduu^IP2>y3pYi4NAW1Ez*pID%f#ixL^sik?i*=_*2dD7A!AZ6dXL zZT-qxb5X@*i z3Lk0|aUA~nsm(D^z}(yJ_VAGgpaTj+-^^eGnl5ewbAz#g*Dr&;({Sb&}UirnH;Co|7Tn1ZVUZl3%$TXpJSny zTIlmEbf1Mj-$I{jpnl0P@vjq3TVBaM z9REAQY5O7B%keK0PFr8eEgZj#aN6=pHgWt`!fC53SEn1S z;k2cdEa3PJgws}5l5xD5@O;A0eFnnpYY8tP{0zre58uA$svyaGvTz=lswGwZxK#gOvytWe}r(_T1pNAr~bI` zzv>50-y9hDbztw?=bBpl3x^iI6gaTr&)^v;xnu!jA9PgY&)5eP9rnPAT~H7>V8jS4 zJD-?_uKX^xaH%U#7&$|owqun4#S9$s%eegIiwMm7EHH2`@cr|S!1v$1CZHV;oc=5^ z6$&4f3JXZ#=jkK+_pJCY7|HrB3+!DHhalS!7&x2A3+!KU9Q2WrEuan8!k5R5AAq3U z^rF3eq%V0rcu7a#i@&d)q_KfxKOX*UBrx#w5I}oizjHS2WCsTP=NAq=Pa|=7B0L!w z=s!nndyf%deK|*aq!F}R#-QD9p)s~6m-sf1K?{vRE4P%}E-n4ZC!^&m>z@H1eSOWIqgm&9 zx((k4+CcxWQ1QLT=+1V@>VFqAPvAg*b@H>3qcn(9KB$G}juSjXXU{)_4m>kkScpQ%0AKmCd{Fd0|)M- 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 Fe*rx1&bR;o diff --git a/network/tcpquiclab/quic_perf_client.c b/network/tcpquiclab/quic_perf_client.c index b386468..9eef324 100644 --- a/network/tcpquiclab/quic_perf_client.c +++ b/network/tcpquiclab/quic_perf_client.c @@ -40,7 +40,7 @@ int main(int argc, char *argv[]) { memset(&peer_addr, 0, sizeof(peer_addr)); peer_addr.sin_family = AF_INET; peer_addr.sin_port = htons(8889); - inet_pton(AF_INET, "127.0.0.1", &peer_addr.sin_addr); + inet_pton(AF_INET, "100.115.45.1", &peer_addr.sin_addr); if (connect(sock, (struct sockaddr *)&peer_addr, sizeof(peer_addr)) < 0) return -1; @@ -61,7 +61,7 @@ int main(int argc, char *argv[]) { close(rng); } - quiche_conn *conn = quiche_connect("127.0.0.1", (const uint8_t *)scid, sizeof(scid), (struct sockaddr *)&local_addr, local_addr_len, (struct sockaddr *)&peer_addr, sizeof(peer_addr), config); + quiche_conn *conn = quiche_connect("100.115.45.1", (const uint8_t *)scid, sizeof(scid), (struct sockaddr *)&local_addr, local_addr_len, (struct sockaddr *)&peer_addr, sizeof(peer_addr), config); if (conn == NULL) { fprintf(stderr, "quiche_connect failed\n"); return -1; diff --git a/network/tcpquiclab/quic_perf_server b/network/tcpquiclab/quic_perf_server deleted file mode 100755 index e16298da1fb7e3322b2a97727cb3b15673051412..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 31416 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 diff --git a/network/tcpquiclab/tcp_client b/network/tcpquiclab/tcp_client deleted file mode 100755 index 8706ff65835a0a62bdf78db01378f808caa35e2c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18816 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 diff --git a/network/tcpquiclab/tcp_perf_client b/network/tcpquiclab/tcp_perf_client deleted file mode 100755 index 4aec67af33bb8da55aed87b1c6f8dbb09e59c4fb..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18808 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 diff --git a/network/tcpquiclab/tcp_perf_client.c b/network/tcpquiclab/tcp_perf_client.c index 2c56706..a16dedc 100644 --- a/network/tcpquiclab/tcp_perf_client.c +++ b/network/tcpquiclab/tcp_perf_client.c @@ -6,7 +6,7 @@ #include #define PORT 8081 -#define SERVER_IP "127.0.0.1" +#define SERVER_IP "100.115.45.1" #define BUFFER_SIZE 4096 #define TARGET_MB 100 diff --git a/network/tcpquiclab/tcp_perf_server b/network/tcpquiclab/tcp_perf_server deleted file mode 100755 index ab1adacb16115201c7c909ebf7b82ce4d7d83887..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 19616 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