Thread threadWatch = null; // 负责监听客户端连接请求的 线程;
Socket socketWatch = null;
Dictionary<string, Socket> dict = new Dictionary<string, Socket>();//存放套接字
Dictionary<string, Thread> dictThread = new Dictionary<string, Thread>();//存放线程
//开启tcp监听
void start_tcp_scoket()
{
IPEndPoint newipep = new IPEndPoint(IPAddress.Any, 8000);
// 创建负责监听的套接字,注意其中的参数;
socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//// 获得文本框中的IP对象;
//IPAddress address = IPAddress.Parse(get_loc_ip());
// 创建包含ip和端口号的网络节点对象;
//IPEndPoint endPoint = new IPEndPoint(address, 8000);
try
{
// 将负责监听的套接字绑定到唯一的ip和端口上;
socketWatch.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
socketWatch.Bind(newipep);
}
catch (SocketException se)
{
MessageBox.Show("异常:" + se.Message);
return;
}
// 设置监听队列的长度;
socketWatch.Listen(10000);
// 创建负责监听的线程;
threadWatch = new Thread(WatchConnecting);
threadWatch.IsBackground = true;
threadWatch.Start();
Console.WriteLine("服务器启动监听成功!");
&nbs

本文档展示了如何使用C#创建一个TCP服务器,通过多线程监听和处理客户端的连接请求。服务器开启在8000端口,每当有新的客户端连接时,会在后台创建一个新的线程来接收和处理数据。同时,代码还包含了音频处理的相关方法,如初始化Naudio播放器和向缓冲区添加数据。
最低0.47元/天 解锁文章
2439

被折叠的 条评论
为什么被折叠?



