我开发一个应用程序,而开发则有一个问题。所以我想解决这个问题。我使用的是TCP服务器和客户端概念。我写代码写得很好。但是封锁我的WPF窗口。我该怎么解决呢?有人能帮我吗。
我的代码
private void LoadingInboxMessage(){
try {
InboxTCPServer("127.0.0.1",1001);
string []header = new string[]{"Name","Mobile","Address"};
SQL sql = new SQL();
MySqlConnection con = sql.ConnectServer("127.0.0.1","root","''","smsdb");
if(con!=null) {
MySqlDataReader dr = sql.SQLFetching(con,"SELECT * FROM receivedetails");
CreateFlowDocument cfd = new CreateFlowDocument("inboxFlow");
this.InboxFlowDocument.Document = cfd.CreateTable("inboxtable",header,dr);
}
else {
MessageBox.Show("Not Connectioned");
Application.Current.Shutdown(0);
}
} catch(Exception e) {
MessageBox.Show(e.Message);
}
}
public void InboxTCPServer(string ipv4, int port){
try {
IPAddress ip = IPAddress.Parse(ipv4);
TcpListener serv = new TcpListener(ip,port);
serv.Start();
Socket s = serv.AcceptSocket();
byte[] b = new byte[1000];
int k = s.Receive(b);
MessageBox.Show(b.ToString());
} catch(Exception e) {
MessageBox.Show(e.Message);
}
}请“救救我”
发布于 2013-04-15 07:25:53
您可能需要查看C#异步TCP/IP管理。我认为您的问题是,您挂起您的代码,等待在同一个线程中的连接,而这个线程正在呈现UI,导致一个没有响应的程序。下面是几个例子的链接:
https://stackoverflow.com/questions/16009648
复制相似问题