PDA

View Full Version : مشکل با سو کت کانکشن



iranfa
چهارشنبه 16 اردیبهشت 1388, 06:09 صبح
دوستان روش اتصال کلاینت به سرور رو توضیح میدید ، Address و Host و server name چین ؟ ( واضحه که از طریق سوکت کانکشن منطورمه ؟ )
سرور و کلایت جفتشون تو کامپیوتر خودمن چه طوری آی پی یا host رو گیر بیارم
راستی کسی ebook تو زمینه indy یا socket و کلا برنامه نویسی شبکه نداره ؛ فارسی باشه ها

iman_Delphi7
چهارشنبه 16 اردیبهشت 1388, 11:36 صبح
با سلام.
برای برقرار کردن ارتباط باید دو تا Application جدا از هم درست کنین. یکی کلاینت و دیگری سرور. یک کامپوننت ServerSocket روی فرم سرور و یک ClientSocket روی فرم کلاینت قرار بدین. حالا یه سری از مشخصه های این دو کامپوننت روخدمتتون توضیح می دم.
ServerSocket:
Active: اگه مقدار این مشخصه رو برابر True کنین سرور شما فعال می شه و از این به بعد کلاینت ها می تونن بهش متصل بشن. فقط باید این نکته رو در نظر داشته باشین که باید قبل از True کردن این مشخصه، تنظیمات این کامپوننت مثل Port رو انجام بدین. چون اگه بعد از فعال کردن سرور این کار رو انجام بدین با خطا مواجه می شین.
البته می تونین با دستور ServerSocket1.Open هم این کار رو انجام بدین.

Port: برای متصل کردن این دو جزء به هم باید به هر دو مولفه یک آدرس پورت یکسان بدین.
این مشخصه یک عدد Integer میگیره. معمولا از شماره صفر تا 1023 در اختیار Windowns هست. شما می تونین از 1024 تا 65535 مقداردهی کنین. البته شاید بعضی شماره های تو این فاصله بوسیله برنامه یا برنامه های خاصی مورد استفاده قرار گرفته باشه. در این صورت شما با خطا مواجه میشین که باید این عدد رو تو هر دو برنامه عوض کنین.

حالا که مقدار پورت رو دادین، دیگه می تونین ServerSocket رو فعال کنین.
فعلا کارمون با ServerSocket تموم شد.

ClientSocket:
Active: این مشخصه مانند مشخصه هم نام آن در سرور می باشد.
Address: آدرس IP سرور بصورت یک String در این قسمت قرار می گیره. برای سیستم هایی که مثل سیستم شما کلاینت و سرور هر دو روی یک سیستم اجرا می شن، باید آدرس LocalHost یا 127.0.0.1 رو بدین.
Host: در صورتی که شما نام کامپیوتری که سرور روی تون اجرا میشه رو میدونین و IP اونو ندارین، می تونین نام اونو در این قسمت وارد کنین. مثلا برای همین برنامه، به جای وارد کردن 127.0.0.1 در قسمت پورت، می تونین رشته LocalHost رو در قسمت Host وارد کنین. میبینین که فرقی نمی کنه.

Port: این مشخصه مانند مشخصه هم نام آن در سرور می باشد. فقط همونطور که گفتم، باید مقدارش با سرور برابر باشه.

حالا که این تنظیمات رو انجام دادین می تونین ClientSocket رو فعال کنین.

اگر قبل از فعال کردن کلاینت، سرور رو فعال کرده باشین، به محض فعال کردن کلاینت، به سرور متصل می شین.

یه برنامه خیلی ساده هم واستون گذاشتم تا با یک سری متدها و رویدادهای این مولفه ها بیشتر آشنا بشین.
ببینید و اگه سوالی داشتین مطرح کنین.

tdkhakpur
پنج شنبه 24 اردیبهشت 1388, 00:53 صبح
سلام:
در این مورد تفاوتی از نظر کار آیی با مطالب بالا نداره فقط خودتون باید بدونید مثل این میمونه که خودتون کد همه چیز رو باید بنویسین فقط دقت و تجربه لازمه که با مطاله بدست میارین(ebook ضمیمه به لاتین هست).
موفق باشید.
اگه مشکلی شد سوالتون رو ارسال کنید من یا سایر دوستان پاسخ خواهیم داد.(فارسیش رو ندارم)