Flex 与 c# socket 完整实例:聊天室

  ===客户端===
  需要建一个公用的as class:(package NetStar -> class MySocket)
  MySocket.as package NetStar { import flash.net.Socket; public class MySocket { public static var CurSocket : Socket = new Socket(); public function MySocket() { } } } myNewTest3.MXML width="351"/> width="413.5"/> ===服务端===
  c# 应用台程序 using System; using System.Collections.Generic; using System.Text; using System.Net; using System.Net.Sockets; using System.Threading; namespace ConsoleApplication2 { class Program { private static System.Collections.ObjectModel.Collection Sockets = new System.Collections.ObjectModel.Collection(); static void Main(string[] args) { Socket listenSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); IPAddress hostIP = Dns.GetHostEntry(Dns.GetHostName()).AddressList[0] ; int port = 8888; //监听端口 IPEndPoint endPoint = new IPEndPoint(hostIP, port); //获得IP,如:192.168.1.169 listenSocket.Bind(endPoint); listenSocket.Listen(100); //连接上限 System.Console.WriteLine("即时消息服务[" + hostIP + "]已启动。"); while (true) { Socket acceptSocket = listenSocket.Accept(); Program.Sockets.Add(acceptSocket); string policy = "\0"; acceptSocket.Send(System.Text.ASCIIEncoding.UTF8.G etBytes(policy)); Thread thread = new Thread(new ParameterizedThreadStart(Program.Receive)); thread.Start(acceptSocket); } } private static void Receive(object value) { Socket acceptSocket = (Socket)value; while (true) { byte[] buffer = new byte[1024]; try { acceptSocket.Receive(buffer); foreach (Socket item in Program.Sockets) { item.Send(buffer); } } catch { break; } } Program.Sockets.Remove(acceptSocket); } } }
  
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值