עבור לתוכן
View in the app

A better way to browse. Learn more.

HWzone

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

לא מצליח לעשות חיבור דרך tcplistener ו tcpclient ב c#

Featured Replies

פורסם

ערב טוב,

קודם כל הקוד, מאוד פשוט:

צד השרת:


TcpListener listener = new TcpListener(IPAddress.Any, 7777);
listener.Start();
TcpClient client = listener.AcceptTcpClient();
Console.WriteLine("Connected");

צד לקוח:


TcpClient client = new TcpClient();
client.Connect("79.180.59.199", 7777);
Console.WriteLine("connected to server");

הבעיה היא שאני מקבל את ההודעה Connected כלומר השרת מזהה, לפחות בהתחלה את הלקוח, אבל אני לא מקבל את ההודעה connected to server בצד של הלקוח.

מה אני עושה לא נכון?

פורסם

אתה בטוח שהוא הצליח להתחבר? תבדוק (בצד הלקוח) את client.Connected.

פורסם

בטוח שה-IP שאתה מנסה להתחבר אליו זה ה-IP הנכון?

פורסם

אתה פותח את השרת לוקאלית? תנסה להשתמש ב Ip.loopback (127.0.0.1) במקום בIP של WAN

פורסם
  • מחבר

שניצל :

בצד של הלקוח אני מקבל שגיאה:

System.Net.Sockets.SocketException was unhandled

Message="A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond 79.180.59.199:7777"

וגם client.connected= false מן הסתם.. לעומת זאת אצל השרת זה true

infer73 :

בטוח כי אחרת זה לא היה ממשיך לעבר שורת קוד הבאה בצד של השרת.

Moonblade :

אני י לא חושב שיש בזה בעיה כי זה אמור לעבוד ככה וזאת גן תהיה המטרה של התכנית בעתיד.

עריכה : עשיתי את מה שאמרת וזה כן עובד. אז איפה הבעיה?

פורסם

אתה מאחורי ראוטר\האב\סוויץ? אם כן,זה מסביר את העניין

בכל מקרה,כשאתה פותח שרת לוקאלי,תמיד תתחבר אליו עם 127.0.0.1,לא עם שום דבר אחר

פורסם
  • מחבר

כן, יש לי ראוטר. מה צריך לעשות בשביל שמחשבים מרוחקים יתחברו אלי?

פורסם

הפנת (פתחת) את הפורט שאתה מנסה להריץ עליו את השרת?

פורסם
  • מחבר

כן, כמובן הגדרתי שהפורט 7777 יהיה פתוח למחשב שלי.

פורסם

תריץ NETSTAT ב- CMD, ותבדוק אם הפורט שלך פתוח.

פורסם
  • מחבר

איך בודקים זאת דרך netstat ?

פורסם

אתה פותח CMD, מקליד NETSTAT ובודק אם הפורט שלך ברשימה(בLISTENING).

פורסם

תיקון קטן, listening sockets מוצגים בעזרת netstat -a

פורסם
  • מחבר

לא, בשום מקום שם לא כתוב המספר 7777 שהוא הפורט שהגדרתי שיהיה פתוח.

אבל זה לא אמור להופיע שם רק כאשר הפורט פתוח וישנה תעבורה כלשהי, כאילו בשימוש?

פורסם

לא, זה מה שאומר ה-listening - שהפורט פתוח ומחכה לחיבורים.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.