























1
using System;
2
using System.Drawing;
3
using System.Collections;
4
using System.ComponentModel;
5
using System.Windows.Forms;
6
using System.Data;
7
// 新添加的命令空间
8
using System.Net;
9
using System.Net.Sockets;
10
using System.Threading;
11
using System.Text;
12
using System.IO;
13
14
namespace SocketServer
15
{
16
/// <summary>
17
/// Socket套接字实现服务器端连接。
18
/// </summary>
19
public class Form1 : System.Windows.Forms.Form
20
{
21
private System.Windows.Forms.RichTextBox richTextBox1;
22
private System.Windows.Forms.Button button1;
23
// 客户端节点
24
private IPEndPoint client;
25
// 服务器端Socket
26
private Socket server;
27
// 服务器端监听线程
28
private Thread thdSvr;
29
// 网络数据流
30
NetworkStream stream;
31
// 写数据流
32
TextWriter writer;
33
// 读数据流
34
TextReader reader;
35
/// <summary>
36
/// 必需的设计器变量。
37
/// </summary>
38
private System.ComponentModel.Container components = null;
39
// 监听线程
40
private void ThreadServer()
41
{
42
client = new IPEndPoint(IPAddress.Any, 34567);
43
server = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
44
server.Blocking = true;
45
server.Bind(client);
46
server.Listen(0);
47
while(true)
48
{
49
Socket t = server.Accept();
50
if (t != null)
51
{
52
stream = new NetworkStream(t);
53
writer = new StreamWriter(stream);
54
reader = new StreamReader(stream);
55
richTextBox1.Text += "接收到一个连接
\n";
56
writer.WriteLine("欢迎连接到服务器!");
57
writer.Flush();
58
writer.WriteLine("您现在可以说话了
");
59
writer.Flush();
60
richTextBox1.Text += reader.ReadLine();
61
richTextBox1.Text += "\n";
62
reader.Close();
63
writer.Close();
64
stream.Close();
65
t.Close();
66
}
67
}
68
}
69
public Form1()
70
{
71
//
72
// Windows 窗体设计器支持所必需的
73
//
74
InitializeComponent();
75
//
76
// TODO: 在 InitializeComponent 调用后添加任何构造函数代码
77
//
78
}
79
80
/// <summary>
81
/// 清理所有正在使用的资源。
82
/// </summary>
83
protected override void Dispose( bool disposing )
84
{
85
if(server != null)
86
server.Close();
87
if(!button1.Enabled)
88
if(thdSvr != null)
89
thdSvr.Abort();
90
if( disposing )
91
{
92
if (components != null)
93
{
94
components.Dispose();
95
}
96
}
97
base.Dispose( disposing );
98
}
99
100
Windows Form Designer generated code
143
144
/// <summary>
145
/// 应用程序的主入口点。
146
/// </summary>
147
[STAThread]
148
static void Main()
149
{
150
Application.Run(new Form1());
151
}
152
// 开始服务器端的运行。
153
private void button1_Click(object sender, System.EventArgs e)
154
{
155
thdSvr = new Thread(new ThreadStart(this.ThreadServer));
156
thdSvr.Start();
157
button1.Enabled = false;
158
}
159
}
160
}
161
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。