PDA

View Full Version : ارتباط دو نرم افزار(سی شارپی) با یکدیگر از طریق یک خط تلفن



hnosen
جمعه 07 بهمن 1390, 11:28 صبح
سلام
من دو تا برنامه با سی شارپ نوشتم این دو تا از یکدیگر فاصله زیادی دارن.
میخوام از طریق یک خط تلفن و با استفاده از مودم این دو برنامه با هم ارتباط داشته (اینترنت نه)و اطلاعات همدیگر رو آپدیت کنن.
بطور مثال برنامه 1 درخواست لیست حقوق این ماه کارمندان رو از سیستم 2 دارد و سیستم 2 جواب را به سیستم 1 بدهد و بالعکس.
شما چه راهی پیشنهاد میکنید؟
لطفا راهنمایی کنید؟

Esmail Solhkhah
جمعه 07 بهمن 1390, 11:58 صبح
میخوام از طریق یک خط تلفن و با استفاده از مودم این دو برنامه با هم ارتباط داشته (اینترنت نه)بین دو کامپیوتر یه کانکشن ایجاد کنید

Incomming Connection - Dialup Connection

بعد که کانکت شدید و مبدا و مقصد IP گرفتن میتونید از طریق همون IP ها با دیتابیس ها تون کار کنید. (سرعت کانکشن شما کمه پس تو کد اینو مد نظر بگیرید)


و اطلاعات همدیگر رو آپدیت کنن.

از ریپلیکیشن استفاده کنید.

موفق باشید.

sg.programmer
جمعه 07 بهمن 1390, 14:46 عصر
از ریپلیکیشن استفاده کنید.

میتونید درباره ریپلیکیشن بیشتر توضیح بدید .همچنین میشه از طریق برنامه های تحت وب و ویندوزی با هم ریپلیکیشن برقرار کرد

in_chand_nafar
جمعه 07 بهمن 1390, 15:52 عصر
استفاده از ويندوز 2008R2 و سرويس Remote APP براي كاربران امكان دسترسي به برنامه هاي موجود در سرور را مي دهد بدون اينكه نياز به نصب سمت كلاينت باشد
برنامه ها تحت دسكتاپ كاربر اجرا مي شود و همه پردازش ها سمت سرور است من با اين حالت Office 2010 تحت شبكه اون هم با كلاينتي كه توي يه شركت ديگه اي بود و سرور هم يه IP استاتيك داشت اجرا كردم آفيس رو روي سرور نصب كردم بعد با سرويس Remote App در ويندوز 2008 اون رو تحت وب منتشر كردم كلاينت با ورود به سايت و كليك بر روي يك ايكون فسقلي تونست با لاگين و.... به راحتي آفيس رو اجرا كنه بدون اينكه سم خودش آفيس رو نصب كنه
حتما اسم سيتريكس رو شنيدي اين فن آوري كه مايكروسافت جهت رقابت با شركت هايي از اين دست توليد كرده است
ببين من يه عمره دارم با sql كار مي كنم و از اون نون در ميارم به نظر من تا اونجايي كه امكان داره سمت Replication نرو اين فن آوري مال زماني بود كه شما به راحتي نمي تونست آنلاين بودن بين كلاينت و ... را تضمين (راستي با كدوم ز بود تزمين /تذمين لعنت به اين لغت هاي عربي) كنيد
http://www.nikamooz.com/index.php?option=com_content&view=category&id=58&Itemid=125
http://www.nikamooz.com/index.php?option=com_content&view=article&id=121:remote-application-in-windows-server-2008-part1&catid=58:windows&Itemid=125
در ضمن روش Incoming هم بد نيست ولي دردسر هاي خودش رو داره روشي كه من گفتم يه سري گير و... داره مثل اجراي برنامه شما تحت يه شبكه (مهاجرت شما به بستر VPN راه اندازي اون در ويندوز 2008 ، نصب ويندوز 2008 و....)
اگه خواستي بعد از دانلود فيلم ها (فارسي هستند) چيزي متوجه نشدي بگو تا توضيح بدم
موفق باشيد

zarrinnegar
جمعه 07 بهمن 1390, 19:10 عصر
من هم پیشنهاد میکنم سمت Replication با sql نرید که دردسر زیاد داره
ولی برای ارسال اطلاعات از یک جا به جای دیگه اولین کاری که باید انجام بدید اینه که جدول ها رو مشخص کنید کدومشون باید اطلاعات رو بفرستند
بعد که مشخص شد یک جدول باید بسازی (مثلا My_Replicate)که مشخصاتی از رکورد داخل اون باشه و یک فیلد از نوع text که دستور sql توش ذخیره میشه

یکی از درسر های یکسان سازی اطلاعات اینه که باید بدونی کدوم رکورد ها اضافه شدم کدوم یکی تغییر کردن و کدوم یکی حذف شدن
توی جدول های اطلاعات نمیتونی اینکار رو انجام بدی که کدوم رکورد تغییر کرده چرا که نیشتونی بگی کدوم رکورد چیش تغییر کرده

بنابراین روشی که من همیشه استفاده میکنم اینه که توی جدول هایی که میخوام Replicate داشته باشن یک Trigger مینویسم که با هر بار Insert , Update , Delete یک رکورد به جدول my_replicate اضافه میکنم و داخلش مگم که این رکرود از نوع Insert هست یا Update و یا Delete و بعد دقیقا کد همون دستور sql رو توی فیلد Text اون مینویسم
بعد به کامپیوتر مقصد وصا میشم و یکی یکی از بالا به پایین دستورات sql موجود در فیلد Text رو توی کامپیوتر مقصد اجرا میکنم

پس اطلاعات من در طرف مقابل بروز میشه
عکس این هم هست که اطلاعات طرف مقابل توی کامپیوتر من اجرا میشه و دیتابیس من هم بروز میشه بعدش رمورد ها رو یا حذف میکنم یا بایگانی که دفعه بعد توی بروزرسانی نباشن