OpenThread دستورات TCP را برای استفاده با شبکه Thread برای آزمایش ارتباط همتا به همتا بین نقاط پایانی TCP ارائه می دهد. cli tcp
یک نمونه پایانی TCP و یک نمونه شنونده TCP را فراهم می کند که همه دستورات tcp
با آن تعامل دارند.
مرورهای دستوری و مثال زیر اطلاعاتی را در مورد مقداردهی اولیه نقطه پایانی TCP و شنونده TCP، نحوه اتصال به نقطه پایانی TCP همتا، و نحوه ارسال پیام به همتا ارائه می دهد.
دستورات TCP
برای لیستی از دستورات tcp
، help
تایپ کنید:
tcp help
abort
benchmark
bind
connect
deinit
init
listen
send
sendend
stoplistening
Done
دستور init
از دستور tcp init
برای مقداردهی اولیه ماژول TCP برای شروع ارتباط TCP استفاده کنید. سپس ماژول TCP می تواند بسیاری از عملکردها را انجام دهد، مانند گوش دادن به اتصالات ورودی با استفاده از مثال شنونده TCP ارائه شده توسط tcp
CLI. برای نامشخص کردن نمونه شنونده TCP و نمونه پایانی TCP، دستور tcp deinit
را صادر کنید.
دستور bind
برای اتصال به مثال نقطه پایانی TCP پس از اینکه ماژول TCP را مقداردهی کردید، یک دستور tcp bind
اجرا کنید تا یک آدرس IPv6 و یک پورت به نقطه پایانی TCP اختصاص دهید. این نقطه پایانی را برای ارتباط متصل می کند. تخصیص آدرس و پورت IPv6 به عنوان "نامگذاری نقطه پایانی" نیز گفته می شود.
دستور listen
برای استفاده از نمونه شنونده TCP هنگامی که ماژول TCP را مقداردهی اولیه کردید، یک دستور tcp listen
را اجرا کنید و آدرس IPv6 و پورت گوش دادن را مشخص کنید.
برای جلوگیری از گوش دادن مثال TCP listener برای اتصالات TCP ورودی، دستور tcp stoplistening
صادر کنید.
فرمان connect
یک دستور tcp connect
نقطه پایانی TCP مثال را به آدرس نقطه پایانی TCP همتا متصل می کند.
send
فرمان
پس از برقراری ارتباط بین دو گره، دستور tcp send
برای ارسال پیام به همتا صادر کنید.
دستورات benchmark
هنگامی که یک اتصال TCP بین دو گره برقرار شد، به صورت اختیاری از دستورات benchmark
برای ارسال مقادیر زیادی داده بین گره ها برای آزمایش پهنای باند و عملکرد شبکه استفاده کنید. تعداد بایت های ارسال شده بر حسب میلی ثانیه و همچنین TCP Goodput در نتایج benchmark
ارائه می شود.
abort
فرمان
برای پایان دادن فوری و بدون تشریفات یک اتصال TCP، دستور tcp abort
در هر گره اجرا کنید تا نقطه پایانی TCP را به حالت بسته منتقل کنید.
دستور sendend
هنگامی که یک گره ارسال داده به گره دیگر را تمام می کند، گره اول می تواند دستور tcp sendend
را صادر کند تا به گره دوم هشدار دهد که دیگر انتظار داده را نداشته باشد. گره دوم همچنین می تواند یک tcp sendend
به گره اول ارسال کند. هنگامی که هر گره یک پیام TCP: Disconnected
را دریافت می کند، اتصال TCP بین دو گره از بین می رود. توصیه می شود، اما نیازی به صدور این دستور زمانی که انتقال داده ها کامل شد، نیست.
ارسال پیام بین دو گره
در گره 1، ماژول TCP CLI را مقداردهی اولیه کنید، سپس با استفاده از نمونه شنونده TCP به اتصالات ورودی گوش دهید.
tcp init
tcp listen :: 30000
استفاده از
::
نشان می دهد کهlisten
باید از آدرس IPv6 نامشخص استفاده کند، بنابراین پشته TCP/IPv6 آدرس IPv6 را اختصاص می دهد. پورت 30000 است.در Node 2، ماژول TCP CLI را مقداردهی اولیه کنید، به گره 1 متصل شوید و سپس یک پیام ساده ارسال کنید.
tcp init
tcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000
tcp send hello
تأیید
بر اساس مراحل مثالی که در بالا نشان داده شده است، خروجی زیر انتظار می رود:
- بعد از اینکه Node 2 دستور
tcp connect
را اجرا کرد، Node 2 باید پیامTCP: Connection established
. - سپس گره 1 باید پیام ها را دریافت کند (به عنوان مثال آدرس IPv6 و پورت):
-
Accepted connection from [fe80:0:0:0:8f3:f602:bf9b:52f2]:49152
-
TCP: Connection established
-
- بعد از اینکه Node 2 دستور
tcp send
را اجرا کرد، Node 1 باید پیامTCP: Received 5 bytes: hello
دریافت کند.