用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash与Web>列表

C#+flash socket 聊天程序(flash源代码)

[来源:闪吧 | 作者:佚名 | 时间:2008-03-27 | 点击:  | 收藏本文  【 】]

   }
   base.Dispose( disposing );
  }


  /// <summary>
  /// 开始监听
  /// </summary>
  private void StartListening()
  {

   IPAddress ipAddress = Dns.Resolve(Dns.GetHostName()).AddressList[0];
   //IPAddress ipAddress = IPAddress.Parse("192.168.0.132");

   
   label1.Text=ipAddress.ToString();
   IPEndPoint ipLocalEndPoint = new IPEndPoint(ipAddress, listenport);

   listener = new TcpListener(ipLocalEndPoint);
   listener.Start();
   while (true) 
   {
    try
    {
     Socket s = listener.AcceptSocket();//接收一个套接字
     clientsocket = s;//赋值给clientsocket
     clientservice = new Thread(new ThreadStart(ServiceClient));//为新进client服

务建立线程
     clientservice.Start();//线程开始
    }
    catch(Exception e)//如果出现异常则打控制台打印到屏幕
    {
     Console.WriteLine(e.ToString() );
    }
   }
  }

  /// <summary>
  /// 给一个客户提供服务
  /// </summary>
  private void ServiceClient()
  {
   Socket client = clientsocket;//赋值给client
   bool keepalive = true;
   bool s;
   while (keepalive)
   {

    Byte[] buffer = new Byte[1024];//一个1024bits的缓存区
    try
    {
     client.Receive(buffer);
    } 
    catch(SocketException ex) 
    { 
     //客户端退出  
     //MessageBox.Show(ex.ToString());
     string leaveName="";
     int remove = 0;
     bool found = false;
     int c = clients.Count;
     //从client的ArrayList中查找有没有相符的client
     //有的话就作好删掉的准备
     for(int n=0; n<c; n++)
     {
      Client cl = (Client)clients[n];
      if(cl.Host==client.RemoteEndPoint)
      {
       leaveName = cl.Name;
       remove = n;
       found = true;
       lbClients.Items.Remove(cl);//List控件中删除这个client
       break;
      }
     }

     if(found)
     {
      for(int n=0; n<c; n++)
      {
       Client cl = (Client)clients[n];
       //MessageBox.Show( "GONE|"+leaveName);
       SendToClient(cl, "GONE|"+leaveName);
      }
     
      clients.RemoveAt(remove);//从clients的ArrayList里面删掉要当前要退出

的client
      client.Close();//关闭套接口
      keepalive = false;//keepalive=false则这个线程服务完毕
     }

    }



    string clientcommand = System.Text.Encoding.UTF8.GetString(buffer);//把得到的数据用
上一页 1 2 34 5 6 下一页
文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:让Flash 支持 Wma
下一篇:Flash+XML新闻系统
Tags:     源代码 程序 聊天 // client if ////summary ///summary
>>> 最新评论:(共有 1 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·FLASH与JS通信:当FLASH有消息时
·Flash与后台数据交换方法整理1-U
·flash左侧菜单导航栏的制作详解
·flash插入网页技巧-让浏览器响应
·JavaScript与Flash的通信解析
·flash与html之间的“静态”传值
·flash里做新闻信息列表按日期,按
·简单asp加载access数据库并生成X
·flash改变网页的背景颜色
·关于XML在FLASH交互应用中的理解
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flex 3 AdvancedDataGrid的使用(第二
·全Flash动画网站实现的基础教学
·flash水影效果字
·Flash打造简单的飘雪动画视觉特效
·FLASH+XML相册(附源码)
·超酷flash光晕移动效果
·Flash旋转拖尾文字效果的制作教程
·Flash制作大雪纷飞效果动画
·flash春雷闪电效果
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号