现在我在这里做了什么。我将一些代码转换为winform,我很难理解如何将接收到的输出(readLine)打印在标签上并输入由textfield发送!!
你可以指导我并告诉我我的错误在哪里,以及如何让聊天工作?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;
using System.IO;
using System.Threading;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
TcpClient connection;
StreamReader sr;
StreamWriter sw;
public Form1()
{
InitializeComponent();
}
private void connectServer()
{
connection = new TcpClient("127.0.0.1", 5000);
sr = new StreamReader(connection.GetStream());
sw = new StreamWriter(connection.GetStream());
}
void button_Click(object sender, EventArgs e)
{
}
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
sw.WriteLine(richTextBox1.Text);
sw.Flush();
}
private void label1_Click(object sender, EventArgs e)
{
label1.Text = sr.ReadLine();
}
private void richTextBox1_TextChanged(object sender, EventArgs e)
{
}
}
}
答案 0 :(得分:-1)
因此...
你可以在哪里聊天? 同一台计算机,同一网络,互联网?您需要创建一个服务来处理对话,一个全局点,用于所有聊天,获取消息并保存。
然后,您需要从每个客户端连接到该全局点并创建一个“房间”并将客户端作为可观察的附加,每次在该“房间中有新消息” “,所有可观察的客户都会收到传入消息的警告并更新他们的文本框。
如果您想避免使用“全局点”,您可以使用套接字,但如果客户端位于NAT后面,它可能无效。
这是 WCF
中的完整应用程序