`
foible
  • 浏览: 43846 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

C#使用简单的连接池完成P2P聊天程序(核心代码)

 
阅读更多

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Net.Sockets;
using System.Net;
using System.IO;
using System.Threading;

namespace WinNine
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Listener(Object o)
{

TcpListener listener = new TcpListener(IPAddress.Any,444);
listener.Start();

while (true)
{
TcpClient client = listener.AcceptTcpClient();
NetworkStream netstream = client.GetStream();
StreamReader sr = new StreamReader(netstream);
this.listBox1.Items.Add(sr.ReadLine());

}
}

private void Form1_Load(object sender, EventArgs e)
{
ThreadPool.QueueUserWorkItem(new WaitCallback(Listener)); //使用连接池实现方法回调

}

private void button1_Click(object sender, EventArgs e)
{
TcpClient client = new TcpClient("127.0.0.1",444);
NetworkStream netstream = client.GetStream();
StreamWriter sw = new StreamWriter(netstream);
sw.WriteLine(this.textBox1.Text);
sw.Flush();
this.textBox1.Clear();
}
}
}

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics