因为我在百度上看见的类似文章都太复杂 不适合新手看 下面的是比较简单的参数和应用 没有太设置一些详细参数 比较适合新手看 想研究详细的可以去看MSDN
/// <summary>
/// 启动方法
/// </summary>
/// <returns></returns>
public void start(){
//关闭线程监视 这句话防止多线程调用出错挺好用的 但是还是尽量使用委托吧 这个不一定什么事报个奇葩错误
Control.CheckForIllegalCrossThreadCalls = false;
try
{
//创建一个监听socket
socket socketWatch = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
//获取IP 这种方法可以不用手动绑定IP
IPAddress ip = IPAddress.Any;
//获取端口
IPEndPoint point = new IPEndPoint(ip, Convert.ToInt16(textboxport.Text.Trim()));
//开始监听
socketWatch.Bind(point);
//设置监听队列 等待客户端连接
socketWatch.Listen(50);
//启动新线程接收连接
Thread th = new Thread(Wait);
//设置该线程为后台线程
th.IsBackground = true;
//将此socket连接传入接收线程
th.Start(socketWatch);
}
catch (Exception ex)
{
MessageBox.Show(ex.message);
}
}
/// <summary>
/// 接收方法
/// </summary>
/// <returns></returns>
public void Wait(Object o)
{
Socket socketWatch = o as Socket;
while (true)
{
//返回一个客户端Socket对象
Socket socketSend = socketWatch.Accept();
//创建用来接收的字节数组
byte[] buffer = new byte[1024];
//将接收到的信息转换成字符串
int receiveNumber = socketSend.Receive(buffer);
string output = Encoding.UTF8.GetString(buffer, 0, receiveNumber);
//弹出接收到的消息
MessageBox.Show(output);
}
}
7kb.org 原创,如有转载请注明出处 www.7kb.org