//去除掉cbxChoose控件选项的重复内容 cbxChoose.Items.Add(str);
for (int i = 0; i < this.cbxChoose.Items.Count; i++) {
for (int j = 0; j < this.cbxChoose.Items.Count; j++) {
if (i != j) {
if (this.cbxChoose.Items[i].ToString() == this.cbxChoose.Items[j].ToString()) {
this.cbxChoose.Items.Remove(this.cbxChoose.Items[j]); } } } } }
//删除combobox里的地址
private void RemComboBox(string str) {
for (int i = 0; i < this.cbxChoose.Items.Count; i++) {
if (this.cbxChoose.Items[i].ToString() == str.ToString())
{
this.cbxChoose.Items.Remove(str.ToString()); } } }
#endregion
private void btnClear_Click(object sender, EventArgs e) {
rtbMessage.Clear(); }
private void btnExit_Click(object sender, EventArgs e) {
this.Close(); } } }
20
4项目分析与总结
4.1遇到的问题和解决方法:
在创建窗体时,由于对有些控件不了解,所以在应用时,查找了一些相关资料,学会
了如何添加和使用。其中有段程序是选择现有文件夹里的ico图标,但是由于没有把图片放在指定的地方,所以在运行时,总是提示找不到指定的文件。这个程序中有段功能是选择群聊中的任何一个IP可以进行私聊,之前由于没有实现去除重复IP的内容,在显示时,当一个IP连续发送两条信息时,下拉框中会显示两个相同的IP,为了实现唯一性,加了一个嵌套循环,当两个IP相同时,去掉后一个。
主要注意以下几点:
1. UDP多播地址的范围:224.0.0.0---239.255.255.255
2. JoinMulticastGroup方法将套接字加入多播组。
JoinMulticastGroup(IPAddress multicastAddr, int timeToLive) multicastAddr为要连接的多播地址,timeToLive为生存时间TTL
3. DropMulticastGroup方法退出多播组。
DropMulticastGroup(IPAddress multicastAddr, int ifindex)
multicastAddr为要连接的多播地址,ifindex为要退出多播组的本地地址
4. UTF-8是UNICODE的一种变长字符编码又称万国码,UTF-8用1到6个字节编码UNICODE字符。用在网页上可以同一页面显示中文简体繁体及其它语言(如日文,韩文)
4.2心得体会
这次实验是在边学习边实践的基础上完成的,通过学习“计算机网络编程”,我们对网络的基础知识打下了很好的基础。这次网络实验可以说是在理解网络的基础上对编程的一次学习过程,虽然做的不是很完善,但也学到了很多知识。例如,vs2008的使用和对c#语句的理解都有了很大的提高。这对自己以后进行网络开发有很大的帮助。
21