parand

برنامه نویسی چت ومشکل آن

سلام دوستان
بنده این برنامه سرویس دهنده وسرویس گیرنده رونوشتم که SERVER فقط میتونه متن های CLIENT رودریافت کنه وبعددوباره پس بزنه؟ ولی نمیدونم چرابرنامه رواجرامیکنم بامشکل مواجه میشم ؟ممنون میشم منو دراین زمینه راهنمایی بفرمایید؟
برنامه واسکرین شات: client
برنامه نویسی چت ومشکل آن

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

namespace server
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void textBox1_TextChanged(object sender, EventArgs e)
        {
            int recv;
            byte[] data = new byte[2048];
            IPEndPoint ipep = new IPEndPoint(IPAddress.Any, 9050);
            Socket newsock = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            newsock.Bind(ipep);
            newsock.Listen(10);
            MessageBox.Show("Waiting for a client...");
            Socket client = newsock.Accept();
            IPEndPoint clientep = (IPEndPoint)client.RemoteEndPoint;
            ResultTextBox.Text += string.Format("Connected with {0} at port {1}", clientep.Address, clientep.Port);
            string welcome = "Welcome to my test server";
            data = Encoding.ASCII.GetBytes(welcome);
            client.Send(data, data.Length, SocketFlags.None);
            while (true)
            {
                data = new byte[1024];
                recv = client.Receive(data);
                if (recv == 0)
                    break;
                ResultTextBox.Text += string.Format(Encoding.ASCII.GetString(data, 0, recv));
                client.Send(data, recv, SocketFlags.None);
            }
            ResultTextBox.Text += string.Format("Disconnected from{0}", clientep.Address);
            client.Close();
            newsock.Close();
        }
    }
}


برنامه واسکرین شات Client:
برنامه نویسی چت ومشکل آن

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

namespace client
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            
            byte[] data = new byte[2048];
            string input, stringData;
            IPEndPoint ipep = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 9050);
            Socket server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            try
            {
                server.Connect(ipep);
            }
            catch (SocketException)
            {
                MessageBox.Show("Unable to connect to server.");
             
            }
            int recv = server.Receive(data);
            stringData = Encoding.ASCII.GetString(data, 0, recv);
            System.Windows.Forms.MessageBox.Show(stringData);
            while (true)
            {
                input = textBox1.Text;
                if (input == "exit")
                    break;
                server.Send(Encoding.ASCII.GetBytes(input));
                data = new byte[1024];
                recv = server.Receive(data);
                stringData = Encoding.ASCII.GetString(data, 0, recv);
                System.Windows.Forms.MessageBox.Show(stringData);
            }
            MessageBox.Show("Disconnecting from server...");
            server.Shutdown(SocketShutdown.Both);
            server.Close();


        }
    }
}


وقتی هم برنامه SERVER وهم Client روباهم اجرا میکنم ومیخام ازClient متنی روبرای SERVER ارسال کنم با خطای زیر مواجه میشم ؟
برنامه نویسی چت ومشکل آن

برنامه نویسی چت ومشکل آن

#نوشتن_برنامه_چت_شبکه #نمونه_کد_چت_و_صدا_در_شبکه #مشکل_در_کد_برنامه_chat #مشکل_در_کد_برنامه_چت #برنامه_chat_شبکه_داخلی #کد_برنامه_چت_در_شبکه #کد_برنامه_چت_در_شبکه_داخلی #برنامه_نویسی_برای_چت #خطای_کد_برنامه_chat_در_سی_شارپ #برنامه_چت_در_شبکه
لذت یادگیری با توسینسو
به عنوان شخصی که مدت هاست از سایت توسینسو استفاده می کنم باید بگم که واقعاً یکی از بهترین مرجع ها برای ارتقاء دانش شخصی هست. دوره های سایت، راهکارها و مطالب، همگی عالی هستند.
mars
خب مشکل اینکه شما هنوز ارتباطتون با سرور برقرار نشده... دلیلش هم اینکه شما مشخصات سرور و bind شدن آنرا درون textbox قرار داده اید که این اشتباست و تا زمانی که اطلاعاتی وارد textbox نشود اتصال برقرار نمی شود...
شما باید این کدها رو درون یک متد قرار دهید و در form load صدا بزنید یعنی موقعی که فرم اجرا شد اتصال سرور هم برقرار شود..
در مرحله بعد پیشنهاد می کنم که از thread برای سرور استفاده کنید...
چرا که مشخص نیست چه زمانی client برای server اطلاعات ارسال می کند و فرم منتظر دریافت اطلاعات می مانند که اینهم یه مشکله... و نیاز به مبحث thread دارید.

پاسخ شما
برای ارسال پاسخ خود وارد شوید.
تنظیمات حریم خصوصی
تائید صرفنظر
×

تو می تونی بهترین نتیجه رو تضمینی با بهترین های ایران بدست بیاری ، پس مقایسه کن و بعد خرید کن : فقط توی جشنواره بهاره می تونی امروز ارزونتر از فردا خرید کنی ....