私はStreamからデータを受け取るクラスClientを持っています。他のクラスの変更についてMainWindowに通知します
また、私はListBoxを持つMainWindowを持っています。
基本的には、新しいデータを受け取ったときにListBoxに項目を追加する必要があります。参照してくださいコードここ
class Client
{
private TcpClient client;
private NetworkStream stream;
private ASCIIEncoding encoder;
private Thread clientThread;
public Client(string ip, int port)
{
this.client = new TcpClient(ip, port);
this.stream = client.GetStream();
this.encoder = new ASCIIEncoding();
clientThread = new Thread(Receive);
clientThread.Start();
}
public void Receive()
{
byte[] data = new byte[4096];
int bytesRead;
bytesRead = stream.Read(data, 0, 4096);
string[] message = DecodeMessage(data, bytesRead);
// TODO: Notify about new message
}
はあなたがタイプ
ObservableCollection<string> ChatMessages{get;private set;}
このコレクションのクライアントクラスのメンバーとプロパティを作成することができ、私のメインウィンドウ
public partial class MainWindow : Window
{
Client client;
public MainWindow()
{
InitializeComponent();
client = new Client("127.0.0.1", 2020);
}
public void updateChat(string[] message)
{
// TODO: Should add new messages into ListBox
}
private void send_Click(object sender, RoutedEventArgs e)
{
client.Send(0, this.messageBox.Text);
this.messageBox.Clear();
}
}
http://msdn.microsoft.com/en-us/library/awbftdfh.aspxなぜコメントを落とし、少なくともせずに、この質問downvote? –
私の悪い英語のためかもしれませんか? :) –