服务器端代码:(为一个控制台程序)
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Text;
7
using System.Windows.Forms;
8
using System.Net;
9
using System.Net.Sockets;
10
using System.IO;
11
using System.Collections;
12
13
namespace Clienttest
14
{
15
public partial class Form1 : Form
16
{
17
private NetworkStream networkstream;
18
private StreamReader streamreader;
19
private StreamWriter streamwriter;
20
TcpClient myclient;
21
ArrayList sb;
22
public bool flag = false;
23
public Form1()
24
{
25
sb = new ArrayList();
26
InitializeComponent();
27
if (!flag)
28
this.Connect();
29
networkstream = myclient.GetStream();
30
streamreader = new StreamReader(networkstream);
31
streamwriter = new StreamWriter(networkstream);
32
this.ShowMessage();
33
34
35
}
36
protected void Connect()
37
{
38
try
39
{
40
sb.Add ("Connecting to server");
41
myclient = new TcpClient("localhost",1234);
42
sb.Add ("Connected,please type something in the textbox");
43
}
44
catch
45
{
46
sb.Add(string.Format ("Failed to connect the {0}:1234","localhost"));
47
48
}
49
flag = true;
50
51
52
}
53
protected void ShowMessage()
54
{
55
for (int i = 0; i < sb.Count; i++)
56
{
57
t2.Items.Add (((object)sb[i].ToString ()));
58
}
59
sb.Clear();
60
}
61
62
private void t1_TextChanged(object sender, EventArgs e)
63
{
64
if (t1.Text == "")
65
bts.Enabled = false;
66
else
67
bts.Enabled = true;
68
}
69
70
private void bts_Click(object sender, EventArgs e)
71
{
72
if (t1.Text == "")
73
{
74
sb.Add("Please enter something in the textbox.");
75
t1.Focus();
76
return;
77
}
78
string s;
79
try
80
{
81
streamwriter.WriteLine(t1.Text.ToString());
82
Console.WriteLine("Sending Message");
83
streamwriter.Flush();
84
s = streamreader.ReadLine();
85
Console.WriteLine("Reading Message");
86
Console.WriteLine(s);
87
sb.Add(s);
88
t1.Text = "";
89
t1.Focus();
90
this.ShowMessage();
91
}
92
catch
93
{
94
MessageBox.Show("错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
95
}
96
97
}
98
99
100
}
101
}
102
103
using System;2
using System.Collections.Generic;3
using System.ComponentModel;4
using System.Data;5
using System.Drawing;6
using System.Text;7
using System.Windows.Forms;8
using System.Net;9
using System.Net.Sockets;10
using System.IO;11
using System.Collections;12

13
namespace Clienttest14
{15
public partial class Form1 : Form16
{17
private NetworkStream networkstream;18
private StreamReader streamreader;19
private StreamWriter streamwriter;20
TcpClient myclient;21
ArrayList sb;22
public bool flag = false;23
public Form1()24
{25
sb = new ArrayList();26
InitializeComponent();27
if (!flag)28
this.Connect();29
networkstream = myclient.GetStream();30
streamreader = new StreamReader(networkstream);31
streamwriter = new StreamWriter(networkstream);32
this.ShowMessage();33

34

35
}36
protected void Connect()37
{38
try39
{ 40
sb.Add ("Connecting to server");41
myclient = new TcpClient("localhost",1234);42
sb.Add ("Connected,please type something in the textbox");43
}44
catch45
{46
sb.Add(string.Format ("Failed to connect the {0}:1234","localhost"));47

48
}49
flag = true;50

51

52
}53
protected void ShowMessage()54
{55
for (int i = 0; i < sb.Count; i++)56
{57
t2.Items.Add (((object)sb[i].ToString ()));58
}59
sb.Clear();60
}61

62
private void t1_TextChanged(object sender, EventArgs e)63
{64
if (t1.Text == "")65
bts.Enabled = false;66
else67
bts.Enabled = true;68
}69

70
private void bts_Click(object sender, EventArgs e)71
{72
if (t1.Text == "")73
{74
sb.Add("Please enter something in the textbox.");75
t1.Focus();76
return;77
}78
string s;79
try80
{81
streamwriter.WriteLine(t1.Text.ToString());82
Console.WriteLine("Sending Message");83
streamwriter.Flush();84
s = streamreader.ReadLine();85
Console.WriteLine("Reading Message");86
Console.WriteLine(s);87
sb.Add(s);88
t1.Text = "";89
t1.Focus();90
this.ShowMessage();91
}92
catch 93
{94
MessageBox.Show("错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);95
}96

97
}98

99

100
}101
} 102

103

客户端代码:(WinForm程序)
在窗体上加入一个Textbox(name:t1),一个Listbox(name:t2), 一个Button(name:bts)
然后在窗体代码面中加入下面代码:
1
using System;
2
using System.Collections.Generic;
3
using System.ComponentModel;
4
using System.Data;
5
using System.Drawing;
6
using System.Text;
7
using System.Windows.Forms;
8
using System.Net;
9
using System.Net.Sockets;
10
using System.IO;
11
using System.Collections;
12
13
namespace Clienttest
14
{
15
public partial class Form1 : Form
16
{
17
private NetworkStream networkstream;
18
private StreamReader streamreader;
19
private StreamWriter streamwriter;
20
TcpClient myclient;
21
ArrayList sb;
22
public bool flag = false;
23
public Form1()
24
{
25
sb = new ArrayList();
26
InitializeComponent();
27
if (!flag)
28
this.Connect();
29
networkstream = myclient.GetStream();
30
streamreader = new StreamReader(networkstream);
31
streamwriter = new StreamWriter(networkstream);
32
this.ShowMessage();
33
34
35
}
36
protected void Connect()
37
{
38
try
39
{
40
sb.Add ("Connecting to server");
41
myclient = new TcpClient("localhost",1234);
42
sb.Add ("Connected,please type something in the textbox");
43
}
44
catch
45
{
46
sb.Add(string.Format ("Failed to connect the {0}:1234","localhost"));
47
48
}
49
flag = true;
50
51
52
}
53
protected void ShowMessage()
54
{
55
for (int i = 0; i < sb.Count; i++)
56
{
57
t2.Items.Add (((object)sb[i].ToString ()));
58
}
59
sb.Clear();
60
}
61
62
private void t1_TextChanged(object sender, EventArgs e)
63
{
64
if (t1.Text == "")
65
bts.Enabled = false;
66
else
67
bts.Enabled = true;
68
}
69
70
private void bts_Click(object sender, EventArgs e)
71
{
72
if (t1.Text == "")
73
{
74
sb.Add("Please enter something in the textbox.");
75
t1.Focus();
76
return;
77
}
78
string s;
79
try
80
{
81
streamwriter.WriteLine(t1.Text.ToString());
82
Console.WriteLine("Sending Message");
83
streamwriter.Flush();
84
s = streamreader.ReadLine();
85
Console.WriteLine("Reading Message");
86
Console.WriteLine(s);
87
sb.Add(s);
88
t1.Text = "";
89
t1.Focus();
90
this.ShowMessage();
91
}
92
catch
93
{
94
MessageBox.Show("错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);
95
}
96
97
}
98
99
}
100
}
101
102
using System;2
using System.Collections.Generic;3
using System.ComponentModel;4
using System.Data;5
using System.Drawing;6
using System.Text;7
using System.Windows.Forms;8
using System.Net;9
using System.Net.Sockets;10
using System.IO;11
using System.Collections;12

13
namespace Clienttest14
{15
public partial class Form1 : Form16
{17
private NetworkStream networkstream;18
private StreamReader streamreader;19
private StreamWriter streamwriter;20
TcpClient myclient;21
ArrayList sb;22
public bool flag = false;23
public Form1()24
{25
sb = new ArrayList();26
InitializeComponent();27
if (!flag)28
this.Connect();29
networkstream = myclient.GetStream();30
streamreader = new StreamReader(networkstream);31
streamwriter = new StreamWriter(networkstream);32
this.ShowMessage();33

34

35
}36
protected void Connect()37
{38
try39
{ 40
sb.Add ("Connecting to server");41
myclient = new TcpClient("localhost",1234);42
sb.Add ("Connected,please type something in the textbox");43
}44
catch45
{46
sb.Add(string.Format ("Failed to connect the {0}:1234","localhost"));47

48
}49
flag = true;50

51

52
}53
protected void ShowMessage()54
{55
for (int i = 0; i < sb.Count; i++)56
{57
t2.Items.Add (((object)sb[i].ToString ()));58
}59
sb.Clear();60
}61

62
private void t1_TextChanged(object sender, EventArgs e)63
{64
if (t1.Text == "")65
bts.Enabled = false;66
else67
bts.Enabled = true;68
}69

70
private void bts_Click(object sender, EventArgs e)71
{72
if (t1.Text == "")73
{74
sb.Add("Please enter something in the textbox.");75
t1.Focus();76
return;77
}78
string s;79
try80
{81
streamwriter.WriteLine(t1.Text.ToString());82
Console.WriteLine("Sending Message");83
streamwriter.Flush();84
s = streamreader.ReadLine();85
Console.WriteLine("Reading Message");86
Console.WriteLine(s);87
sb.Add(s);88
t1.Text = "";89
t1.Focus();90
this.ShowMessage();91
}92
catch 93
{94
MessageBox.Show("错误", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error);95
}96

97
}98

99
}100
}101

102

注:运行时请先运行服各器端,先运行客户端将会有异常发生,以上程序源码原型来自互联网,再次感谢源码书写者。程序已在VS2005里调试通过。


浙公网安备 33010602011771号