我有以下代碼來偵聽我的計算機上本地主機上的TCP/IP連接。當我運行應用程序(WPF應用程序)時,我收到以下錯誤消息。C#TCPListener問題
任何幫助表示讚賞。
謝謝。
更新的代碼:
try
{
string sConnectionString = "Data Source=xxxx;Initial Catalog=xxxx;Integrated Security=false;User ID=xxxx;Password=xxxx";
IPAddress ipAddress = IPAddress.Parse("127.0.0.1");
Console.WriteLine("Starting TCP listener...");
TcpListener listener = new TcpListener(ipAddress, 13002);
listener.Start();
while (true)
{
Console.WriteLine("Server is listening on " + listener.LocalEndpoint);
Socket client = listener.AcceptSocket();
var childSocketThread = new Thread(() =>
{
byte[] data = new byte[100];
int size = client.Receive(data);
string incomingMess = " ";
for (int i = 0; i < size; i++)
incomingMess = incomingMess + Convert.ToChar(data[i]);
Console.WriteLine("---> Message recorded in DB");
Console.WriteLine(System.Environment.NewLine);
SqlConnection con = new SqlConnection(sConnectionString);
string regMess = "insert into Messages(incomingMessage) values(@incomingMessage_param)";
SqlCommand regMessCommand = new SqlCommand(regMess, con);
con.Open();
regMessCommand.Parameters.AddWithValue("@incomingMessage_param", incomingMess);
regMessCommand.ExecuteNonQuery();
con.Close();
client.Close();
});
childSocketThread.Start();
}
listener.Stop();
}
catch (Exception e)
{
Console.WriteLine("Error: " + e.StackTrace);
Console.ReadLine();
}
什麼是錯誤信息? - 您只向我們展示StackTrace。 – Russ
看到來自'System.Net.Sockets.Socket.Bind(EndPoint localEP)的堆棧跟蹤'也許它無法綁定到端口13000,因爲別的東西正在監聽呢? –
是 - 什麼是錯誤?不過,不要將該代碼放入構造函數,使用Window.Loaded或計時器延遲。 – JeffRSon