因为我在百度上看见的类似文章都太复杂 不适合新手看 下面的是比较简单的参数和应用 没有太设置一些详细参数 比较适合新手看 想研究详细的可以去看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