黑馬程式設計師之聊天室設計

2021-06-09 11:54:03 字數 3993 閱讀 4313

----------------------

windows phone 7手機開發、

.net培訓、期待與您交流! ----------------------

今天的記錄是:

連線字串放在應用程式配置檔案中,讀取該配置檔案需要新增引用  system.configuration (configurationmanger.connectionstring引用字串)。

彈出目錄選擇器 使用 directory類

用folderbrowserdialog控制項完成。

進行檔案掃瞄 directory path 類 getfilenamewithout.extension(副檔名)

委託:方法的容器

事件:用來約束對委託的訪問;在類的外部來訪問 事件約束的委託 只能通過 += , -= 操作委託裡的方法,不能直接呼叫委託,也不能重新new。

多執行緒:

程序 : 就是包括了要執行程式**和執行流程以及涉及到的資源的乙個總的名稱。(每開啟乙個程式,就是乙個程序;所以,當我們開啟多個相同的程式(掛多個qq)的時候其實有多個程序。)

乙個科學家,做飯:在廚房裡照著   菜譜做菜。                           -----  這個過程就是程序

(cpu)  (執行緒)                      (程式**)  (程式裡使用的資源) ----  這個過程就是程序

多執行緒:

此時,科學家的老婆叫他過去幫忙 掃地

(cpu)                                  (執行緒)

socket:就是程式和程式通訊用的工具類。

1.為什麼【通訊套接字】的本地埠會和【監聽套接字】的埠一樣?--討論

//如果在win7下要通過 某個執行緒 來呼叫 檔案選擇框的**,就需要設定如下

threadclient.setapartmentstate(apartmentstate.sta);

下面是**

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.threading;

using system.io;

namespace chatroomclient

//客戶端套接字

socket socketcilent = null;

//負責接收的執行緒

thread thread = null;

private void btnconnection_click(object sender, eventargs e)

catch (socketexception ex)

catch (exception ex)

private void btnsend_click(object sender, eventargs e)

else

}private void btnsendfile_click(object sender, eventargs e)

}#region 選擇檔案---btnchoisefile_click

///

/// 選擇檔案

///

///

/// btnchoisefile_click

string str = system.text.encoding.utf8.getstring(msg, 1, lenth - 1);

onlinelist.items.remove(str);}}

using system;

using system.collections.generic;

using system.componentmodel;

using system.data;

using system.drawing;

using system.linq;

using system.text;

using system.net;//ipadress,ipendpoint(ip和埠類)類

using system.net.sockets;

using system.windows.forms;

using system.threading;

using system.io;

private void btnstart_click(object sender, eventargs e)

catch (socketexception ex)

catch (exception ex)

}//socket sokconnection = null;使用集合,處理多個客戶端連線到服務端問題

dictionarydict = new dictionary();

//使用集合,為每乙個客戶端傳送訊息建立乙個接收執行緒

dictionarydicthr = new dictionary();

private void btnsend_click(object sender, eventargs e)

catch (socketexception ex)

catch (exception ex)}}

private void btngroupsend_click(object sender, eventargs e)

catch (socketexception ex)

catch (exception ex)

}showmsg("傳送了資料:" + sendmsg);}}

private void btnsendfile_click(object sender, eventargs e)

catch (socketexception ex)

catch (exception ex)

}else}}

#region 選擇檔案---btnchoisefile_click

///

/// 選擇檔案

///

///

/// btnchoisefile_click

private void btnchoisefile_click(object sender, eventargs e)

}#endregion

#region 顯示資訊showmsg

///

/// 顯示資訊

///

/// msg

#region 監聽請求watchconnecting

///

/// 監聽請求

///

}#endregion

#region 接收資訊---------recmsg

///

/// 接收資訊

///

/// sokconnectionpara

void recmsg(object sokconnectionpara)

catch (socketexception ex)}}

break;                   

}catch (exception ex)

//將接收到的位元組陣列轉換回字串

if (msg[0] == 0)//接收到文字

else if (msg[0] == 1)//接收檔案時}}

else if (msg[0] == b)}}

#endregion}}

----------------------

windows phone 7手機開發、

.net培訓、期待與您交流! ---------------------- 詳細請檢視:

黑馬程式設計師 聊天室學習(一)

windows phone 7手機開發 net培訓 期待與您交流!using system using system.collections.generic using system.componentmodel using system.data using system.drawing usin...

黑馬程式設計師 Socket網路程式設計聊天室

windows phone 7手機開發 net培訓 期待與您交流!using system using system.collections.generic using system.componentmodel using system.data using system.drawing usin...

黑馬程式設計師 Socket網路程式設計 聊天室

windows phone 7手機開發 net培訓 期待與您交流!一 網路中程序之間如何通訊?首先解決的問題是 如何唯一標識乙個程序,否則通訊無從談起。在本地,可以用程序的pid來唯一標識乙個程序,而在網路中則行不通。tcp ip協議族已解決了這個問題 網路層的 ip位址 可以唯一標識網路中的主機,...