0
我想在WPF中實現一個基本的TCP客戶端。我設法使用Windows窗體,但不能讓它在WPF中工作。我試圖回到非常基本的東西,並一點一點地加入東西。這是連接到輸出單行代碼的arduino。我可以通過telnet成功連接到它,所以問題出在我的代碼上。試圖在WPF中創建一個基本的TCP客戶端
這是我到目前爲止有:
public partial class MainWindow : Window
{
private TcpClient tcp;
private StreamWriter SwSender;
private StreamReader SrReciever;
private Thread thrMessaging;
private delegate void UpdateLogCallBack(string strMessage);
public MainWindow()
{
InitializeComponent();
}
private void btn_Connect_Click(object sender, RoutedEventArgs e)
{
TcpClient tcp = new TcpClient();
txt_Log.AppendText("connecting");
tcp.Connect(IPAddress.Parse("192.168.137.1"), 2000);
txt_Log.AppendText("Connected");
thrMessaging = new Thread(new ThreadStart(ReceiveMessages));
thrMessaging.Start();
}
private void ReceiveMessages()
{
SrReciever = new StreamReader(tcp.GetStream());
while (true)
{
string response = SrReciever.ReadLine();
txt_Log.Dispatcher.Invoke(new UpdateLogCallBack(this.UpdateLog), new object[] { response });
}
}
private void UpdateLog(string strMessage)
{
txt_Log.AppendText(strMessage);
}
}
}
運行這給了我在接收消息的方法錯誤。它說錯誤是在「SrReciever = new StreamReader(tcp.GetStream());」稱它爲NullReferenceException,對象引用未設置爲對象的實例。
我不是最好的編程,所以如果有一個在WPF中工作的TCP客戶端的例子,那麼這將是非常有用的。
感謝 尼克