چطوری بايد بينشون ارتباط برقرار كنم و داده انتقال بدم و دريافت كنم و ...
چطوری بايد بينشون ارتباط برقرار كنم و داده انتقال بدم و دريافت كنم و ...
دوست عزیز انتقال چه داده ای با بانک یا می خوای فایلی رو دریافت کنی .
اگر منظورتان فایل ها باشه که از لحاظ منطقی کلاینت اجازه دسترسی به سرور رو نخواهد داشت مگر اینکه سرور به کلاینت اجازه دسترسی داده باشه یا فایلی Share شده باشه یا مگر بخوای به هک متوسل بشی
ولی فایلی هایی که Share هستند را می توانی استفاده نمایی با روش زیر :
در قسمتی که می خوای مسیر رو بنویسی به صورت زیر بنویسید :
@"//Server\FolderName\Filename
من اصلا بلد نيستم چطوری بايد يه برنامه واسه Lan بنويسم. مقاله آی يا هر چيز ديگه ای نداری؟
این جمله بی معنی هست.من اصلا بلد نيستم چطوری بايد يه برنامه واسه Lan بنويسم.
شما باید برنامه برای سوکت های شبکه بنویسی "Socket Programing"
موفق باشید
خوب چطوری...من ميخوام يه برنامه واسه كافی نت و گيم نت با هم بنويسم كه شبيه به گيم نت ها باشه. يعنی يه نفر نام كاربری و پسورد رو وارد ميكنه و بعد از شارژی كه كرده كم ميشه تا خارج بشه. تمامی اطلاعات بايد به سرور انتقال داده بشه. خوب چطوری؟
اگر در مورد Socket programming جستجو میکردی اطلاعات زیادی می تونستی بدست بیاری , ولی با این حال
تو این لینک http://www.codeproject.com/KB/IP/TCPIPChat.aspx
یه مثال کامل است که , یه برنامه چت در LAN رو بررسی کرده است .
موفق باشید
تشكر....
ولی من سورس نميخوام. آموزش ميخوام...!!!
ميخوام بدونم چطوری بايد از از يك كامپيوتر به كامپيوتر ديگه كه با هم از طريق شبكه Lan ارتباط دارند فايل و نوشته های متنی ارسال كرد.
فکر کنم به دردتون بخوره : http://www.barnamenevis.org/sh...d.php?t=121111
موفق باشید
SIR_asad جان. اون تاپيك فقط برای نوشته بود. من فايل هم ميخوام رد و بدل كنم. ولی تاپيك مفيدی بود. هم از شما ممنون و هم از علی H2. بگذريم. كتابی، چيزی. نميشناسيد كه كار من رو راه بندازه؟
خدمت شما عرض شود که اگر در اینترنت جستجو کنید , مطالب زیادی رو پیدا خواهین کرد و اگر با سمپل ها کار کنید , یاد میگیرید .
یک کتاب هم در این مورد هست که اسمش : TCP/IP Sockets in C#: Practical Guide for Programmers
http://www.amazon.com/dp/0124660517?...63GGD4A4FF46M&
موفق باشید
اين هم زبان اصلی هست و هم 24$ مايشه.
آقا من اصلا نميخوام ياد بگيرم. فقط به من يك كد بديد كه بتونم باهاش يك فايل رو از يه كامپيوتر بفرستم به يك كامپيوتر ديگه ( با تشكر )
سلام
برنامه ي زير يک Sample ساده براي ارسال فايله.ابتدا يک نمونه از برنامه ايجاد کنيد و حالت سرور رو بار کنيد،مسير مورد نظر رو براي ذخيره فايل ارسالي مشخص کنيد و آمادگي براي دريافت فايل رو (با زدن دکمه مربوط) اعلام کنيد.سپس يک نمونه ديگر برنامه را اجرا کنيد و به قسمت کلاينتش بريد و فايل مورد نظر رو آدرس داده و ارسال رو بزنيد تا فايل ارسال بشه.
البته اين برنامه طوري تنظيم شده که روي يک کامپيوتر کار کنه (IP رو عدد 127.0.0.1 دادم) ولي مي تونيد هر IP يا Computer Name موجود در شبکه رو که ميخواهيد وارد کنيد.ملاک در اين برنامه سادگي در خوده برنامه است در نتيجه خالي از اشکالات حرفه اي (و نه دستوري يا ساختاري) نيست (به عبارت ديگه بهتر از اين هم ميشد پيادش کرد).
توضيح اينکه فرآيند ارسال فايل با Text تفاوت چنداني ندارد.فقط اولا بايد ارطلاعات ارسالي رو از فايل بخونيد و اطلاعات دريافتي رو در يک فايل بنوسيد( که در حالت Chat اين اطلاعات رو از يک textBox مي خونديم و در قسمت دريافت کننده در يک textBox ديگه مي نوشتيم).ثانيا به جاي استفاده از متد WriteLine يا Write شي NetworkStream براي ارسال يا دريافت رشته، بايد از متد ها Write و Read اين شي ،البته براي حالتي که آرايه اي از بايت ها را مي خواند و مي نويسد،استفاده کنيم.در هر حال ساختار کلي همان است که در آموزشهايي که لينکش در پست هاي قبل آمده،موجود است.
اگر سئوالي بود در خدمتتان هستم.
موفق باشيد
SMRAH1
جان نميدونم چجوری از شما تشكر كنم....فقط ميتونم بگم مرسی...اميدوارم بتونم جبران كنم و... به چند تا مشكل كوچيك برخوردم....اين سورس فايل رو از كلاينت ميده به سرور...حالا اگر بخوايم از سرور بديم به كلاينت بايد چی كار كنم... و دو حالت داشته باشه :
1- از سرور به همه كلاينت ها Public
2- از سرور به يك يا چند كلاينت خاص Private
سلام
همانطور که قبلا خدمتتون عرض کردم من تجربه ای در Socket Programming ندارم (لااقل به شکل حرفه ای) و این پیشنهاد ها را از یک مبتدی بپذیرید و دوستان حرفه ای اگر پیشنهادی دارند حتما مطرح کنند. (البته من هم یاد می گیرم).
در سرور و کلاینت هایت باید سه Thread راه بندازی.یک Thread وظیفه هدایت معمولی فرم رو برعهده داره،یک Thread وظیفه گوش ایستادن (همان که در سرور پیاده شده است) را برعهده دارد و یکی هم وظیفه ارسال فایل رو ،در صورت نیاز،(مانند آن که در کلاینت معرفی شده) را برعهده می گیرد.هر Thread دریافت کننده و ارسال کننده هر لحظه مشغول این امر هستند.به عبارت دیگر این Thread هال در یک چرخه بینهایت قرار دارند که در ابتدا درخواست یک اتصال، در وسط دریافت فایل و در انتها بستن اتصال و باز برگشت به اول حلقه و در خواست اتصال بعدی ....
نکته ظریف اینکه در صورتی که یک دریافت کننده فایل، درخواستی رو برای دریافت فایل از طرف ارسال کننده داشته باشد،به محض ایجاد یک Socket توسط متد AcceptSocket ،می توان NetworkStream حاصله را در یک Thread مستقل ایجاد و مدیریت دریافت را به آن Thread واگذار کرده و اجازه دهید Thread جاری با فراخوانی مجدد AcceptSocket ،منتظر یک درخواست ارتباط دیگر بماند.
نکته پایانی اینکه : همانطور که قبلا اشاره شد،دو متد AcceptSocket (در دریافت کننده) و Connect (در ارسال کننده) به محض اجرا ،Thread خود را به حالت هنگ برده تا ارتباط برقرار شود.به همین دلیل برای خروج از برنامه،متد Form.CLose کافی نیست (چون Thread های مستقل بسته نشده و هنوز در حافظه می مانند) و باید از متد Application.Exit استفاده کرد (در این صورت تمام Thread های برنامه بسته می شوند).
امیدوارم مفید بوده باشد.
موفق باشید
آیا رویداد آماده ای برای مشخص کردن درخواست های ارسال شده وجود نداره که دیگه نیازی به استفاده از حلقه ها نباشه ؟!!
اگر برنامه ای به پورت مورد نظر گوش کنه(TcpListener.Start) ،چنانچه درخواستی بشه،متوجه در خواست شده و درخواست رو می تونه بپذیره،ولی در حالت کلی (اینه برنامه از همه جا بی خبر) یکی بشه بگه پیغام داری،نه نیست یا لااقل من بلد نیستم!
موفق باشی
كسی نميخواد كمك كنه؟
راستی يه مسئله : اون پروژه ای كه آقای SMRAH1 نوشتند، اگر سرور در كامپيوتر سرور و كلاينت در كامپيوتر های كلاينت اجرا بشه مشكلی پيش مياد يا به عبارت ديگه كدش فرق ميكنه؟
سلام
کافیه خط 42 فایل ClientForm رو ویرایش کنید.البته اين برنامه طوري تنظيم شده که روي يک کامپيوتر کار کنه (IP رو عدد 127.0.0.1 دادم) ولي مي تونيد هر IP يا Computer Name موجود در شبکه رو که ميخواهيد وارد کنيد.
موفق باشید
دوست عزیز اگه می خواین یاد بگیرید از پایه شروع کنید و یاد بگیرید.(البته من هنوز شروع به یاد گیری نکردم ولی مقاله های خوبی دارم....یکیشو اینجا گذاشتم.)
https://barnamenevis.org/showpo...58&postcount=1
دوتا کتاب زبون اصلی البته رایگان که کتابهای خوبی هم هستن هم دارم.که یکیش همراه با مثال و سورس هست.
یکیشو میتونی از سایت flazx.com با عنوان tcp_ip_sockets_in_c__practical_guide_for_programme rs_the_practical_guides که سورسش رو ضمیمه می کنم بگیری و یکیش رو هم از سایت ebook4dl با عنوان Programming - Network Programming .NET C Sharp and Visual Basic .NET بگیری.
سورس
http://www.barnamenevis.org/sh...59&postcount=2
موفق باشی.
Close your eyes, take a deep breath, click your heels three times, and say, "There's no better thing than Inversion of Control and Dependency Injection, generic specialization, the decorator pattern, chains of responsibilities, and extensible software."
خوب چه تغييری توش بدم؟کافیه خط 42 فایل ClientForm رو ویرایش کنید.
و از sajjadlove هم ممنون
به جای 127.0.0.1 عدد IP یا نام کامپیوتر مورد نظر در شبکه رو بگذار!
از كجا به دست بيارم كه الان چه كلاينت هایی دارن از سرور سرويس ميگيرند كه بخوام IP يا نامشون رو به دست بيارم. البته فكر كنم بايد از كلاينت ها به سرور ارسال كرد، چون همه ی كلاينت ها قطعا IP مشخص Server رو می دونند. اين راه درسته؟
سلام
برای شمارش (Enumerate) تعداد کامپیوتر های درون شبکه دوستان دیگر که (در دسترسی به اطلاعات شبکه توسط #C ) تخصص دارند باید کمک کنند و از عهده من خارجه (من هنوز از این کارها نکردم!).
موفق باشید
خوب كی وارده؟ يكی كمك كنه...!!!
آدرس زیر یه برنامه با سورس برای اینکار داره البته با C++من تصمیم دارم برنامه برای انتقال صدا و تصویر با س شارپ برای این کار بنویسم لطفا" با هم فکری هم این کار را به پایان برسانیمwww.ipmsg.org