ورود

نسخه کامل مشاهده نسخه کامل : چطور یه برنامه سوکت رو اجرا کنم ؟



TURBO_BOY2006
08-01-2011, 12:06
سلام دوستان

دوستان ممنون میشم راهنمایی کنید باید یه برنامه مثل همین ، udp ، و مثل چت درست کنم...اگه میشه راهنمایی کنید که چطور اجراش کنم...کد نویسیشو تقریبآ بلدم...اینم یه نمونه از مثال برنامه نویسی سوکت با ++c ممنون میشم راهنمایی کنید پروژه دانشگاهه تا چند روز دیگه باید بدم...وقت ندارم!!!:13:

اینم مثالش:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

ممنون:11:

god of war 2
08-01-2011, 14:32
دوستان ممنون میشم راهنمایی کنید باید یه برنامه مثل همین ، udp ، و مثل چت درست کنم...اگه میشه راهنمایی کنید که چطور اجراش کنم...کد نویسیشو تقریبآ بلدم...اینم یه نمونه از مثال برنامه نویسی سوکت با ++c ممنون میشم راهنمایی کنید پروژه دانشگاهه تا چند روز دیگه باید بدم...وقت ندارم!!!
سلام.
اگر میخواهید یک Chat Client درست کنید میتونید از راههای مختلفی این کارو انجام بدید.ساده ترین راه و بهترین راه استفاده از پروتکل IRC هست و اصلا پروتکل IRC برای این کار طراحی شده.
برای نمونه برنامه mIRC و یا Xchat برای این پروتوکل طراحی شده.
در رابطه با استفاده از دیگر پروتوکل ها ( TCP - UDP ) نیز شما نیاز به یک سرور دارید و تفاوتش با IRC در اینه که این سرور باید در اختیار شما باشد.البته اگر بخواهید در شبکه دانشگاه یا یک شبکه محلی این کارو انجام بدید مشکلی نیست.
در IRC میشه از هر سرور Public ی استفاده کرد و این یک مزیت حساب میشه و همچنین دارای امکانات کامل در رابطه با نوع دسترسی در سالن های چت و ... هست که البته برای استفاده از این امکانات حجم کد نویسی بیشتر میشه.
توضیحش مفصله ولی اگر خواستید یک IRC Chat Client بنویسید میتونم راهنماییتون کنم.
در رابطه با Winsock هم اگر مشکلی داشتید میتونم راهنماییتون کنم.
موفق باشید.

TURBO_BOY2006
08-01-2011, 16:23
سلام...

ممنون از شما ...نمیتونم از IRC استفاده کنم و استاد گفته فقط udp و به این صورت که مثلآ بین سرور و کلاینت سلام و احوالپرسی بشه :دی بعد موقعی که فرضآ پیغام bye فرستادم چت تموم شه!!!

من نمیدونم چطور بین این دو تا تو ویژوال استدیو ارتباط ایجاد کنم ، شبکه باید اینترنت باشه....میخوام بدونم من چطور اینو بنویسم و بتستم؟! یه چند تا مثال از نحوه نوشتم دیدم تو اینترنت ولی نمیدونم چیه و چطور اجراش کنم! بدجور گیج شدم!

god of war 2
08-01-2011, 16:37
من نمیدونم چطور بین این دو تا تو ویژوال استدیو ارتباط اجاد کنم
میتونید IP رو در هردو برنامه روی Local Host (همان IP سیستم خودتون) تنظیم کنید و برنامتونو امتحان کنید در اصل پیام از سیستم خودتون وارد شبکه میشه و دوباره از شبکه به سیستم خودتون برمیگرده.در طول این کار هردو برنامه در سیستم شما باید اجرا شده باشه و و همچنین به اینترنت متصل باشید.
اگر ارسال و دریافت به درستی صورت بگیره میشه گفت برنامه به درستی کار میکنه.

TURBO_BOY2006
08-01-2011, 16:53
ممنون....

چطور دو تا برنامه رو همزمان اجرا کنم؟ تو c++ ویژوال استدیو ؟ اینو نمیدونم! فقط یکی اجرا میشه!

ببخشید هی سوال میکنم!

god of war 2
08-01-2011, 18:02
چطور دو تا برنامه رو همزمان اجرا کنم؟ تو c++ ویژوال استدیو ؟ اینو نمیدونم! فقط یکی اجرا میشه!
مگه شما هر دوتا برنامتونو کامپایل نکردین؟ خوب هر دورو از روی هارد اجرا کنید!

TURBO_BOY2006
08-01-2011, 18:39
ok...هر دو رو از تو هارد باید اجرا کنم! اوه!!! :دی ok ...نمیدونستم...برم ببینم چیکار میکنم...اگه مشکل برخوردم مزاحم میشم باز! ببخشید...من زیاد با ویژوال کار نکردم! برنامه نویسی شی گرایی که خوندم تو uni هم با توربو و بورلند بود.

ممنون.:11:

TURBO_BOY2006
08-01-2011, 20:15
ببخشید........دوباره اومدم

من اینو کامپایل میکنم یه سری فایل تو پوشه ایجاد میشن.... تو cmd باید لود و اجراش کنم؟ یه خطا میده هم میده چرا؟ این پیغامش : ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

اینم یه کد که تست کردم البته فک کنم سوکت استریم هست



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

TURBO_BOY2006
09-01-2011, 13:21
دوستان راهنمایی کمممممک کنید نمیدونم این رو چطور اجرا کنم....نمیدونم تو مراحل کامپایل مشکل داره تو cmd اشتباه میکنم ....

من این کارو میکنم فایل exe کامپایل شده رو از cmd میخونم یعنی با این دستور:
c:server.exe 127.0.0.1 hello
این پیغام رو میده :
socket: no error

آخه چرا؟؟؟؟؟ کمکم کنید دارم دیونه میشم !!!:37:

اینم دوتا سورس که من تست میکنم....اولی tcp هست و یه برنامه ساده ، فایل سرور و کلاینت :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

اینم یه برنامه چت ، udp :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

دوستا راهمایی کنید انتحان دارم این پروژه هم گیر داده !!!

god of war 2
09-01-2011, 14:25
من اینو کامپایل میکنم یه سری فایل تو پوشه ایجاد میشن.... تو cmd باید لود و اجراش کنم؟ یه خطا میده هم میده چرا؟ این پیغامش : ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
این پیغام یعنی اینکه کد شما دارای اشکال هست و کامپایل نشده. حالا شما باید سورس رو به همراه اروری که داده بزاری تا بفهمیم مشکل از کجاست.
سورسی هم که در این پست گذاشتین از نظر کامپایل شدن هیچ مشکلی نداره و فقط یک { در آخر سورس برای بستن main کم گذاشتید ولی هنوز امتحانش نکردم ببینم کار میکنه یا نه.


اینم یه کد که تست کردم البته فک کنم سوکت استریم هست
نه.از نوع SOCK_DGRAM هست که برای UDP استفاده میشه.


من این کارو میکنم فایل exe کامپایل شده رو از cmd میخونم یعنی با این دستور:
c:server.exe 127.0.0.1 hello
این پیغام رو میده :
socket: no error
این مربوط به کدوم یک از سورس هایی که گذاشتین میشه؟لطفا فقط سورسی که میخواهید از آن استفاده کنید و امتحان کردین رو قرار بدید.

TURBO_BOY2006
09-01-2011, 16:26
این پیغام یعنی اینکه کد شما دارای اشکال هست و کامپایل نشده. حالا شما باید سورس رو به همراه اروری که داده بزاری تا بفهمیم مشکل از کجاست.
سورسی هم که در این پست گذاشتین از نظر کامپایل شدن هیچ مشکلی نداره و فقط یک { در آخر سورس برای بستن main کم گذاشتید ولی هنوز امتحانش نکردم ببینم کار میکنه یا نه.



سورس اول listener و talker هست و درست یاید باشه من چون مطمین بودم درسنه خواستم اول نحوه کارش رو یاد بگیرم و ولی نتونستم ...نمیدونم چطور ارتباط برقرار میکنن و چطور پیغام میدن ...خواستم اول تو اون تست کنم

سورس دوم هم مشایه چت هست...من این برنامه رو نیاز دارم....چیزی که میخوام یکم شبیه اینه من که سر در نمیارم...این کد رو از یه جایی کپی کردم !




این مربوط به کدوم یک از سورس هایی که گذاشتین میشه؟لطفا فقط سورسی که میخواهید از آن استفاده کنید و امتحان کردین رو قرار بدید.
این مربوط به سورس اول : listener و talker هست

اگه میشد یکم با نحوه کارش آشنا شم سعی میکردم خودم بنویسم ولی اصلا هیچی نمیفهمم...وقتم ندارم!:41:...اگه میشه یه تست کنید نحوه کارشو به من بگید....چطو اجراش کنم!!! تا حداقل برم رو udp به صورت چت فک کنم !

ببخشد ...واقعآ ممنون:11:

god of war 2
09-01-2011, 18:35
بنده قبلا در لینک زیر بصورت مختصر و مفید Winsock را توضیح دادم یک نگاهی بندازید.

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

TURBO_BOY2006
11-01-2011, 14:51
دوستان یکی بگه من چطور اینو اجرا کنم !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!


این کد برنامه listener هست :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


اینم کد talker :


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

من چطور اجراش کنم آخه؟

لطفآ مرتب بگید اول باید کامپایل کنم بعد build ؟ :13: من کامپایل میکنم ارور میده....>


برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


با همون ارور هم تو visual stadio 6 کامپالیدم فایل exe رو از تو cmd اجرا کردم نمیدونم چجوریه اونجا باید چطور ورودیا رو بدم اونجا اینا رو میگه (عکس گرفتم) : [ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

god of war 2
11-01-2011, 19:47
بنده سورس هایی که شما گذاشتیو یکم تغییر دادم چندتا مشکل داشت که برطرف شد و یک سری کدهای اضافه داشت که اونارو هم برای خوانایی بهتر پاک کردم و در آخر هم کامپایل و تست کرد و هر دو (Client\Server) کاملا درست کار میکنه و هیچ مشکلی نداره.
برای اجرا و تست هم کافیه بعد از کامپایل هر دو اول Server رو اجرا کنید و نیاز به هیچ پارامتر ورودی هم نداره و سپس Client رو اجرا کنید بدون هیچ ورودی.
بلافاصله بعد از اجرای CLient یک رشته (This is a test string) به سرور فرستاده میشه و سرور رشته دریافتی رو در صفحه چاپ میکنه.
IP را روی Local host تنظیم کردم. و از پورت 4950 استفاده شده.
این سورس فقط برای راهنمایی هست و برای کاری (ساخت چت) که شما میخواهید انجام بدید باید یکم اونو تغییر بدید مثلا بجای IP Local hst باید IP ی سیستم طرف مقابل که Server در آن اجرا شده را قرار بدید و در Client از یک While استفاده کنید برای ارتباط دائم تا زمانی که پیغام اتمام به سرور فرستاده بشه و ...

Client:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

Server:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

موفق باشید.

TURBO_BOY2006
12-01-2011, 01:42
واقعآ ممنون از شما میرم واسه تست...

هورااااااااااااا.....

اونم میخوام مثل همین باشه و کلاینت سرور تو یه pc باشن و فقط به صورت چتی باشه....

دوست من واقعا از شما سپاس گذارم !

TURBO_BOY2006
12-01-2011, 19:12
آقا دستت درد نکنه....

این رو تست کردم کار کرد....و ++c کردمش ...الآن دارم حلقه میذارم واسه چت...فقط ورودی تابع sendto در سرور و recvfrom در کلاینت رو چی بذارم؟!

ممنون میشم بازم راهنمایی کنی!

god of war 2
13-01-2011, 16:05
این رو تست کردم کار کرد....و ++c کردمش ...الآن دارم حلقه میذارم واسه چت...فقط ورودی تابع sendto در سرور و recvfrom در کلاینت رو چی بذارم؟!

منظورتونو درست متوجه نشدم.
اگر منظورتون از ورودی همون پارامتر های تابع هست که در سورسی که بنده گذاشتم کاملا درست مقدار دهی شده و هیچ مشکلی نداره.

TURBO_BOY2006
14-01-2011, 01:05
سلام

من sendto در سرور و recive رو در کلاینت میخام....واسه کامل کردن برنامه به صورت چت...

ممنون

TURBO_BOY2006
17-01-2011, 21:33
این مشکلش کجاست آخه !!!

سرور پیغام رو میفرسته ، کلاینت پیغامی نمیگیره و cout نمیکنه !

سرور :

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


و کلاینت



برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید

_H2_
21-01-2011, 00:27
سلام
اگر بدردتان بخورد در تاپیک زیر pdf فارسی به همراه سورس ساده ای برای چت وجود دارد، ولی تحت C#.Net و VB.Net است...
[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]

god of war 2
21-01-2011, 18:19
سلام.
متاسفانه چند روزی هست که نمیرسم زیاد به اینجا سر بزنم و بخاطر همین نتونستم جواب پستهای که زدیدو بدم.
ولی چیزی که میخواستید رو براتون نوشتم البته به ساده ترین شکل . یک گفتگوی دونفره میان Client و Server که با ارسال کلمه Bye از طرف Client به پایان میرسه.
همانطور که خواستید Server طوری نوشته شده که فقط روی Localhost کار میکنه.
امیدوارم بدردتون بخوره.
فقط به علت کمبود وقت یکم با عجله نوشتم و خوب کامنت گذاری نکردم.

Server:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید


Client:

برای مشاهده محتوا ، لطفا وارد شوید یا ثبت نام کنید