Skocz do zawartości

listbox nie dodaje "itemów"


Polecane posty

Witam.

mam problem z listbox;em(konsola: w kodzie)

ponieważ się nie dodaje żaden "item"

jak dodam Message box;a do m2:
MessageBox.Show(">> " + mg2);
to w message box'ie jest ta wiadomość
http://screenshot.sh/m7QvBxfVj352K

 

Form2(Server):

 

 

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.Collections;
using System.Net.Sockets;
using System.Net;
using System.Threading;

namespace xxx
{
    public partial class Form2 : Form
    {
        public static Hashtable clientsList = new Hashtable();

        public Form2()
        {
            InitializeComponent();
        }

        private void Form2_Load(object sender, EventArgs e)
        {
            startServer();
        }

        public static void startServer()
        {
            Thread t = new Thread(cs);
            t.Start();
        }

        public static void cs()
        {
            TcpListener serverSocket = new TcpListener(IPAddress.Any, 8898);
            TcpClient clientSocket = default(TcpClient);
            int counter = 0;

            serverSocket.Start();
            m("Chat Server Started ....");
            counter = 0;

            while (true)
            {
                counter += 1;
                clientSocket = serverSocket.AcceptTcpClient();

                byte[] bytesFrom = new byte[10025];
                string dataFromClient = null;

                NetworkStream networkStream = clientSocket.GetStream();
                networkStream.Read(bytesFrom, 0, (int)clientSocket.ReceiveBufferSize);
                dataFromClient = System.Text.Encoding.ASCII.GetString(bytesFrom);
                dataFromClient = dataFromClient.Substring(0, dataFromClient.IndexOf("$"));

                clientsList.Add(dataFromClient, clientSocket);

                broadcast(dataFromClient + " Joined ", dataFromClient, false);

                m(dataFromClient + " Joined chat room ");
                handleClinet client = new handleClinet();
                client.startClient(clientSocket, dataFromClient, clientsList);
                Thread.Sleep(100);
            }

            clientSocket.Close();
            serverSocket.Stop();
        }

        public static void m(string mg)
        {
            Form2 sv = new Form2();
            sv.m2(mg);
        }

        public void m2(string mg2)
        {
            konsola.Items.Add(">> " + mg2);
        }

        public static void broadcast(string msg, string uName, bool flag)
        {
            foreach (DictionaryEntry Item in clientsList)
            {
                TcpClient broadcastSocket;
                broadcastSocket = (TcpClient)Item.Value;
                NetworkStream broadcastStream = broadcastSocket.GetStream();
                Byte[] broadcastBytes = null;

                if (flag == true)
                {
                    broadcastBytes = Encoding.ASCII.GetBytes(uName + " says : " + msg);
                }
                else
                {
                    broadcastBytes = Encoding.ASCII.GetBytes(msg);
                }

                broadcastStream.Write(broadcastBytes, 0, broadcastBytes.Length);
                broadcastStream.Flush();
            }
        }
    }
}
 

 

 

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Strzelę bo nie znam się na tym, ale Items.Add przyjmuje jako parametr wartość typu object więc trzeba najpierw zrobić rzutowanie ">> " + mg2 na ten typ chyba.

4417049059_6234f40fb5.jpg
Storm has passed but the destruction are still visible.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

.. Czyli nie to bo mam to samo w kodzie .. to czemu itemy się nie dodają w listbox..

        public static void m(string mg)
        {
            Form2 sv = new Form2();
            sv.m2(mg);
        }

Ok zrobiłem z invoke.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Zarchiwizowany

Ten temat jest archiwizowany i nie można dodawać nowych odpowiedzi.

  • Kto przegląda   0 użytkowników

    Brak zalogowanych użytkowników przeglądających tę stronę.

×
Okienko zamknie się za 5 sekund...