نمایش نتایج 1 تا 4 از 4

نام تاپیک: نوشتن نرم افزار برای کار روی شبکه محلی

  1. #1

    Question نوشتن نرم افزار برای کار روی شبکه محلی

    با سلام خدمت دوستان محترم
    روزهای گرم تابستونتون بخیر

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

    یعنی نرم افزار اشتراکی باشه

    کسی میتونه کمکم کنه
    فقط راه حلهای آسون بدین چون خیلی ماهر نیستم
    مرسی از دوستایی که راهنمایی میکنن


  2. #2
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,487

    نقل قول: نوشتن نرم افزار برای کار روی شبکه محلی

    سلام دوست عزیز .... !!!
    خب برای برنامه نویسی حرفه ای شبکه باید بری سمت سوکت پروگرمینگ ولی یه راه خیلی آسون تر هست که میتونه این کارتو راه بندازه ... !!
    ااین کتاب کلا 8 صفحه است و برنامه ها میتونن تو شبکه از یک بانک استفاده کنن .... تو این روش برنامه ها به هم ارتباطی ندارند ولی میتونی از طریق بانک بهشون دستور بدی ... !!
    http://s4.picofile.com/file/78192933...mming.pdf.html

  3. #3

    نقل قول: نوشتن نرم افزار برای کار روی شبکه محلی

    نقل قول نوشته شده توسط CsharpNevisi مشاهده تاپیک
    سلام دوست عزیز .... !!!
    خب برای برنامه نویسی حرفه ای شبکه باید بری سمت سوکت پروگرمینگ ولی یه راه خیلی آسون تر هست که میتونه این کارتو راه بندازه ... !!
    ااین کتاب کلا 8 صفحه است و برنامه ها میتونن تو شبکه از یک بانک استفاده کنن .... تو این روش برنامه ها به هم ارتباطی ندارند ولی میتونی از طریق بانک بهشون دستور بدی ... !!
    http://s4.picofile.com/file/78192933...mming.pdf.html
    ربط دادن از طریق بانک یعنی چی؟

  4. #4
    کاربر دائمی آواتار CsharpNevisi
    تاریخ عضویت
    بهمن 1391
    محل زندگی
    تهران
    پست
    1,487

    نقل قول: نوشتن نرم افزار برای کار روی شبکه محلی

    برنامه ها میتونن از طریق پرت ها با هم ارطبات برقرار کنن ... مثل برنامه چت روم ولی اینجا فقط ی دونه بانک تو شبکه درست میشه ... "البته خودم این کتابو نخوندم ولی فک کنم اینطوری کار کنه" این بانک به صورت اشتراکی بین برنامه ها استفاده میشه ... !!!!
    تو میتونی مثلا یه فیلد دستور مثلا واسه سیستم 2 ایجاد کنی ... !!!!
    مثلا توش بزاری خاموش بعد برنامه موجود تو سیستم 2 بیاد از تو فیلد مقدارو بخونه و سیستمو خاموش کنه .. !!!
    البته این کار چندان معقولانه نیست ... !!!
    بهترین راه برنامه نویسی سوکته .... !!!!
    ولی این کتاب برای راه انداختن کارت مفیده .. !!!
    تو فقط میخوایی اطلاعات بانک اشتراکی باشه .. درسته ... !!!
    قراره یه برنامه ای با سی شارپ و اس کیو ال سرور بنویسم که توی یه محیطی که شامل سه سیستم هست اجرا بشه . می خوام کاربری که تغییراتی روی اطلاعات بانک نرم افزار میده کاربر دیگه از پی سی دیگه این تغییراتو ببینه
    اگه دوست داشتی با سوکت کار کنی این کد میتونه کمکت کنه که واسه چت رومه :

    برنامه سرویس گیرنده

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Net.Sockets;
    using System.Threading;
    using System.IO;
    using System.Net;

    namespace Clint
    {
    public partial class Form1 : Form
    {

    private TcpListener listen;
    private Socket sock;
    private NetworkStream stream;
    private BinaryReader bread;
    private BinaryWriter bwrite;
    private Thread th;
    private bool bol;
    public static string strCopmputerName;

    public Form1()
    {
    InitializeComponent();
    }

    private void receive_data()
    {
    while (!bol)
    {

    string data = bread.ReadString();
    manage_receive(data);
    }
    }

    public delegate void ManageReceiveDataDlg(string cmd);
    private void manage_receive(string message)
    {
    if (this.InvokeRequired)
    {
    ManageReceiveDataDlg manage = new ManageReceiveDataDlg(manage_receive);
    this.Invoke(manage, new object[] { message });
    }
    else
    {
    //txtCode.Text = message;
    txtReseve.Text += message + Environment.NewLine;
    }
    }

    public void send_data(string message)
    {
    bwrite.Write(strCopmputerName + ": " + message); //از این خط برای نوشتن اطلاعات استفاده می شود
    bwrite.Flush(); //از این متد برای حذف اطلاعات از حافظه استفاده می شود
    }

    private void button1_Click(object sender, EventArgs e)
    {
    try
    {
    int port = 1234; //یک پورت را وارد می کند
    sock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); //یک سوکت می سازد
    sock.Connect(IPAddress.Loopback, port); //به سوکت مورد نظر یک پورت و یک آی پی اختصاص می دهد
    stream = new NetworkStream(sock); //این شی دو متد دارد که اطلاعات را به صورت بایت می خواند و می نویسد-read and write
    bread = new BinaryReader(stream); //اطلاعات را به صورت باینری می خواند
    bwrite = new BinaryWriter(stream); // اطلاعات را به صورت باینری می خواند
    th = new Thread(receive_data);
    th.Start();

    IPHostEntry iphost = Dns.GetHostEntry(IPAddress.Loopback);
    string hostname = iphost.HostName;
    strCopmputerName = hostname;

    button3.Enabled = true;
    label1.Text = "اتصال با موفقیت انجام شد";
    label1.ForeColor = Color.Green;
    button1.Enabled = false;
    button2.Enabled = true;
    txtSend.Enabled = true;
    }

    catch (Exception ex)
    {
    label1.ForeColor = Color.Red;
    label1.Text = "ارتباط دچار مشکل شده است";
    }
    }

    private void button2_Click(object sender, EventArgs e)
    {

    switch (txtSend.Text)
    {
    case "[MH:Abute]":
    {
    send_data("محسن فتحی .. متولد 1373 .. تلفن : 09356471322 .... i love programming");
    txtReseve.Text += "محسن فتحی .. متولد 1373 .. تلفن : 09356471322 .... i love programming" + Environment.NewLine;
    txtSend.Text = "";
    }
    break;
    default:
    {
    send_data(txtSend.Text);
    txtReseve.Text += strCopmputerName + ": " + txtSend.Text + Environment.NewLine;
    txtSend.Text = "";
    }
    break;
    }
    }
    private void txtCode_TextChanged(object sender, EventArgs e)
    {

    }

    private void button3_Click(object sender, EventArgs e)
    {
    txtReseve.ForeColor = Color.Red;
    txtSend.Enabled = false;
    button2.Enabled = false;
    send_data("از برنامه خارج شد");
    Application.Exit();
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    this.Left = 0;
    }
    }
    }


    برنامه سرویس دهنده

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using System.Windows.Forms;
    using System.Net.Sockets;
    using System.Threading;
    using System.IO;
    using System.Net;

    namespace ChatNetwork
    {
    public partial class Form1 : Form
    {
    private TcpListener listen;
    private Socket sock;
    private NetworkStream stream;
    private BinaryReader bread;
    private BinaryWriter bwrite;
    private Thread th;
    private bool bol;
    public static string strCopmputerName;

    public Form1()
    {
    InitializeComponent();
    }

    private void receive_data()
    {
    while (!bol)
    {
    string data = bread.ReadString();
    manage_receive(data);
    }
    }

    public delegate void ManageReceiveDataDlg(string cmd);
    private void manage_receive(string message)
    {
    if (this.InvokeRequired)
    {
    ManageReceiveDataDlg manage = new ManageReceiveDataDlg(manage_receive);
    this.Invoke(manage, new object[] { message });
    }
    else
    {
    txtReseve.Text += message + Environment.NewLine;
    }
    }

    public void send_data(string message)
    {
    bwrite.Write(strCopmputerName + ": " + message); //از این خط برای نوشتن اطلاعات استفاده می شود
    bwrite.Flush(); //از این متد برای حذف اطلاعات از حافظه استفاده می شود
    }

    private void button1_Click(object sender, EventArgs e)
    {

    }

    private void button2_Click(object sender, EventArgs e)
    {
    switch (txtSend.Text)
    {
    case "[MH:Abute]":
    {
    send_data("محسن فتحی .. متولد 1373 .. تلفن : 09356471322 .... i love programming");
    txtReseve.Text += "محسن فتحی .. متولد 1373 .. تلفن : 09356471322 .... i love programming" + Environment.NewLine;
    txtSend.Text = "";
    }
    break;
    default:
    {
    send_data(txtSend.Text);
    txtReseve.Text += strCopmputerName + ": " + txtSend.Text + Environment.NewLine;
    txtSend.Text = "";
    }
    break;
    }
    }

    private void Form1_Load(object sender, EventArgs e)
    {
    this.Left = 500;
    }

    private void timer1_Tick(object sender, EventArgs e)
    {
    int port = 1234; //شماره پورت وارد می کند
    listen = new TcpListener(port); //به پورت مورد نظر گوش می دهد
    listen.Start();//شروع به شنیدن می کند
    sock = listen.AcceptSocket(); //درخواست کلاینت را قبول می کند
    stream = new NetworkStream(sock);
    bread = new BinaryReader(stream);
    bwrite = new BinaryWriter(stream);
    label1.Text = "اتصال با موفقیت انجام شد";
    label1.ForeColor = Color.Green;
    IPHostEntry iphost = Dns.GetHostEntry(IPAddress.Loopback);
    string hostname = iphost.HostName;
    strCopmputerName = hostname;
    th = new Thread(receive_data);
    th.Start();
    txtSend.Enabled = true;
    timer1.Enabled = false;
    }

    private void button3_Click(object sender, EventArgs e)
    {
    txtReseve.ForeColor = Color.Red;
    txtSend.Enabled = false;
    button2.Enabled = false;
    send_data("از برنامه خارج شد");
    Application.Exit();
    }
    }
    }


    این چترومیه که خودم درست کردم .... !!!
    اگر دوست داری اطلاع بده برات پروژه رو بزارم (برام پیغام خصوصی بزار)
    آخرین ویرایش به وسیله CsharpNevisi : چهارشنبه 05 تیر 1392 در 15:11 عصر

تاپیک های مشابه

  1. سوال: نرم افزار برای پیکر بندی شبکه
    نوشته شده توسط asdf2010 در بخش شبکه و Networking‌
    پاسخ: 2
    آخرین پست: شنبه 10 مهر 1389, 14:45 عصر
  2. نوشتن نرم افزار برای کار کردن در یک LAN
    نوشته شده توسط hamed_abutorabi در بخش شبکه و Networking‌
    پاسخ: 2
    آخرین پست: جمعه 24 اسفند 1386, 13:51 عصر
  3. نرم افزار برای کار با پورت موازی در ویندوز xp
    نوشته شده توسط mehdi_RM در بخش برنامه نویسی اسمبلی خانواده x86
    پاسخ: 3
    آخرین پست: چهارشنبه 09 خرداد 1386, 02:00 صبح
  4. نرم افزار Slave برای جاسوسی در شبکه محلی
    نوشته شده توسط nasr در بخش امنیت در شبکه
    پاسخ: 2
    آخرین پست: یک شنبه 06 اردیبهشت 1383, 13:00 عصر

برچسب های این تاپیک

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •