客户端代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;
using System.Net.Sockets;
using System.Threading;
using System.Net;
namespace p2p
{
public partial class Form1 : Form
{
private Thread th;
private UdpClient tcpl;
public bool listenerRun = true;
Socket s;
//listenerRun为true,表示可以接受连接请求,false则为结束程序
public Form1()
{
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
}
public void Stop()
{
tcpl.Close();
th.Abort();//终止线程
MessageBox.Show("结束监听....");
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
th = new Thread(new ThreadStart(Listen));//新建一个用于监听的线程
th.Start();//打开新线程
}
private void Listen()
{
try
{