Не запускается сервер TcpListener хочу снять показания с датчика влажности, подключенного к ESP8266, который должен к нему подключится, выходит ошибка связанная с null. Сервер поднимается на приложении Xamarin.
using System;
using Xamarin.Forms;
using System.Net.Sockets;
using System.Net;
using Android.Widget;
using System.Text;
using System.Collections.Generic;
namespace Teplica
{
public partial class MainPage : ContentPage
{
private string ip = "192.168.1.2";
private int port = 8545;
private bool door = true;
TcpListener server;
TcpClient client = null;
NetworkStream stream = null;
private bool Timer = true;
private byte[] data = null;
StringBuilder builder = null;
private List<string> list = new List<string>();
public MainPage()
{
InitializeComponent();
server = new TcpListener(IPAddress.Parse(ip), 8545);
server.Start();//NullReferencesException
client = server.AcceptTcpClient();
stream = client.GetStream();
Device.StartTimer(TimeSpan.FromSeconds(1), TeplicaTimer);
}
private bool TeplicaTimer()
{
data = new byte[256];
builder = new StringBuilder();
int bytes = stream.Read(data,0, data.Length);
builder.Append(Encoding.UTF8.GetString(data, 0, bytes));
list.Add(Convert.ToString(builder));
DataVlazhnost.ItemsSource = list;
return Timer;
}
private void OpenDoor_Clicked(object sender, EventArgs e)
{
if (door)
{
Toast.MakeText(Android.App.Application.Context, "Открытие двери", ToastLength.Short).Show();
OpenDoor.Text = "Закрыть";
door = false;
}
else
{
Toast.MakeText(Android.App.Application.Context, "Закрытие двери", ToastLength.Short).Show();
OpenDoor.Text = "Открыть";
door = true;
}
}
private void Water_Clicked(object sender, EventArgs e)
{
Toast.MakeText(Android.App.Application.Context, "Подача воды", ToastLength.Short).Show();
}
}
}