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 inittcp listen :: 30000استفاده از
::نشان می دهد کهlistenباید از آدرس IPv6 نامشخص استفاده کند، بنابراین پشته TCP/IPv6 آدرس IPv6 را اختصاص می دهد. پورت 30000 است.در Node 2، ماژول TCP CLI را مقداردهی اولیه کنید، به گره 1 متصل شوید و سپس یک پیام ساده ارسال کنید.
tcp inittcp connect fe80:0:0:0:a8df:580a:860:ffa4 30000tcp 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دریافت کند.