資源簡介
C#寫的TCP服務器端程序,支持多個TCP客戶端連入,程序當中有一個監聽進程不斷監聽來自客戶端的TCP連接請求,請求建立后交由一個專門的處理進程來處理接收到的數據(在本程序當中只是簡單的將收到的數據返回給客戶端)。全部源代碼。
代碼片段和文件信息
using?System;
using?System.Collections.Generic;
using?System.ComponentModel;
using?System.Data;
using?System.Drawing;
using?System.Text;
using?System.Windows.Forms;
using?System.Threading;
using?System.IO;
using?System.Net;
using?System.Net.Sockets;
namespace?TCPMultilink
{
????public?partial?class?Form1?:?Form
????{
????????Thread?listenThread?=?null;//監聽進程
????????public?Form1()
????????{
????????????InitializeComponent();
????????}
????????private?static?void?StartListening()?//main?listening?thread
????????{
????????????IPEndPoint?ipep?=?new?IPEndPoint(IPAddress.Any?5555);//綁定5555端口
????????????Socket?newsock?=?new?Socket(AddressFamily.InterNetworkSocketType.Stream?ProtocolType.Tcp);//tcp協議
????????????newsock.Bind(ipep);
????????????newsock.Listen(10);
????????????while?(true)
????????????{
????????????????Socket?client?=?newsock.Accept();//等待TCP客戶端的鏈接請求
????????????????ThreadClientProc?p?=?new?ThreadClientProc();
????????????????p.tempSocket?=?client;
??
????????????????Thread?clientService?=?new?Thread(new?ThreadStart(p.ServiceClient));
????????????????clientService.IsBackground?=?true;
????????????????clientService.Start();
????????????}
????????}
????????private?void?Form1_FormClosing(object?sender?FormClosingEventArgs?e)
????????{
????????????DialogResult?dr?=?MessageBox.Show(“確定要退出程序嗎?“?“退出提示“?MessageBoxButtons.OKCancel);
????????????if?(dr.Equals(DialogResult.OK))
????????????{
????????????????//?Application.Exit();
????????????????if?(listenThread?!=?null)
????????????????????listenThread.Abort();
????????????????this.Dispose();
????????????????this.Close();
????????????}
????????????else
????????????{
????????????????e.Cancel?=?true;
????????????}??
????????}
????????private?void?Form1_Load(object?sender?EventArgs?e)
????????{
????????????//創建監聽進程
????????????listenThread?=?new?Thread(new?ThreadStart(StartListening));
????????????listenThread.IsBackground?=?true;
????????????listenThread.Start();
????????}
????}
????//客戶端請求處理類
????public?class?ThreadClientProc
????{
????????public?Socket?tempSocket;
????????public?ThreadClientProc()
????????{
????????}
????????public?void?CloseThread()
????????{
????????????Thread?th?=?Thread.CurrentThread;
????????????th.Abort();
????????}
?????
??????
????????public?void?ServiceClient()
????????{
????????????IPEndPoint?newclient?=?(IPEndPoint)this.tempSocket.RemoteEndPoint;
????????????NetworkStream?ns?=?new?NetworkStream(tempSocket);
????????????StreamReader?sr?=?new?StreamReader(ns);
????????????StreamWriter?sw?=?new?StreamWriter(ns);
????????????//string?welcome?=?“Welcome?to?tcp?server!“;
????????????//sw.WriteLine(welcome);
????????????//sw.Flush();
????????????sw.AutoFlush?=?true;
????????????char[]?myReadBuffer?=?new?char[1024];
????????????int?count;
????????????while?(true)
????????????{
????????????????try
????????????????{
????????????????????count?=?
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件???????5612??2009-09-05?21:36??TCPMultili
?????文件????????249??2009-09-05?21:36??TCPMultili
?????文件???????1196??2009-09-05?21:36??TCPMultili
?????文件???????2878??2009-09-05?21:36??TCPMultili
?????文件???????1095??2009-09-05?21:36??TCPMultili
?????文件???????3231??2009-09-05?21:47??TCPMultili
?????文件???????5632??2005-12-08?14:51??TCPMultili
?????文件??????20480??2009-09-06?09:14??TCPMultili
?????文件??????24064??2009-09-06?09:14??TCPMultili
?????文件????????180??2009-09-05?21:50??TCPMultili
?????文件????????180??2009-09-05?21:47??TCPMultili
?????文件??????20480??2009-09-06?09:14??TCPMultili
?????文件????????842??2009-09-05?21:50??TCPMultili
?????文件??????24064??2009-09-06?09:14??TCPMultili
?????文件????????303??2009-09-06?09:14??TCPMultili
?????文件????????471??2009-09-05?21:36??TCPMultili
?????文件???????1605??2009-09-05?21:50??TCPMultili
?????文件???????5814??2009-09-05?21:50??TCPMultili
?????文件???????3522??2009-09-06?09:14??TCPMultili
?????文件????????925??2009-09-05?21:36??TCPMultili
?????目錄??????????0??2009-09-05?21:36??TCPMultili
?????目錄??????????0??2009-09-05?21:36??TCPMultili
?????目錄??????????0??2009-09-05?21:36??TCPMultili
?????目錄??????????0??2009-09-05?21:36??TCPMultili
?????目錄??????????0??2009-09-05?21:36??TCPMultili
?????目錄??????????0??2009-09-05?21:36??TCPMultili
?????目錄??????????0??2009-09-05?21:36??TCPMultili
-----------?---------??----------?-----??----
???????????????122823????????????????????27
............此處省略0個文件信息
評論
共有 條評論