110,534
社区成员
发帖
与我相关
我的任务
分享
private void button2_Click(object sender, EventArgs e)
{
Connect(); //这里我第一次点击后能从服务器获得数据,第二次及以后就异常了 为什么?
//高手解答
}
private void Connect()
{
try
{
string ServerIp = "127.0.0.1";//服务器地址
int ServerPort = 1000;//服务器端口号
TcpClient TC = new TcpClient();
TC.Connect(ServerIp, ServerPort);//建立与服务器的连接
NetworkStream stm = TC.GetStream();//通过tcp
UTF8Encoding UTF8 = new UTF8Encoding();
byte[] str = UTF8.GetBytes(this.textBox1.Text);//把输入的内容编码
stm.Write(str, 0, str.Length);//向服务器发送信息
byte[] bb = new byte[10240];//接收服务器返回的数据
int k = stm.Read(bb, 0, 10240);
string RevStr = string.Empty;
RevStr = System.Text.UTF8Encoding.UTF8.GetString(bb, 0, k);//转换
this.textBox2.Text += RevStr;//连续显示在TEXTBOX内
stm.Close();
TC.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
private TcpListener TL = null;
private System.Net.IPEndPoint qSerIpendPoint;
private Thread qSerTh;
private void Form1_Load(object sender, EventArgs e)
{
Start();
}
private void Start()
{
try
{
int IpPort = 1000;
string Ip = "127.0.0.1";
IPAddress Address = IPAddress.Parse(Ip);//
qSerIpendPoint = new IPEndPoint(Address, IpPort);
TL = new TcpListener(qSerIpendPoint);//准备监听
TL.Start();//开始
qSerTh = new Thread(new ThreadStart(Receive));
qSerTh.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Receive()
{
try
{
Socket socket;
socket = TL.AcceptSocket();
string RemoteEndPoint = socket.RemoteEndPoint.ToString();
Byte[] Stream = new Byte[10240];
socket.Receive(Stream);//接收传来的值
// UTF8Encoding ServerReceiveStr = new UTF8Encoding();
socket.Send(Stream);//向客服端发送一个回复信息
socket.Close();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private TcpClient TC;
private NetworkStream stm;
private void button3_Click(object sender, EventArgs e)
{
//if (TC==null||!TC.Connected)
//{
Connect();
//}
//Send();
}
private void Connect()
{
try
{
string ServerIp = "127.0.0.1";//服务器地址
int ServerPort = 1000;//服务器端口号
TC = new TcpClient();
TC.Connect(ServerIp, ServerPort);//建立与服务器的连接
stm = TC.GetStream();//通过tcp
UTF8Encoding UTF8 = new UTF8Encoding();
byte[] str = UTF8.GetBytes(this.textBox1.Text);//把输入的内容编码
stm.Write(str, 0, str.Length);//向服务器发送信息
byte[] bb = new byte[10240];//接收服务器返回的数据
int k = stm.Read(bb, 0, 10240);
string RevStr = string.Empty;
RevStr = System.Text.UTF8Encoding.UTF8.GetString(bb, 0, k);//转换
this.textBox2.Text += RevStr;//连续显示在TEXTBOX内
stm.Close();
TC.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}
private TcpListener TL = null;
private System.Net.IPEndPoint qSerIpendPoint;
private Thread qSerTh;
private void button1_Click(object sender, EventArgs e)
{
Start();
}
private void Start()
{
try
{
int IpPort = 1000;
string Ip = "127.0.0.1";
IPAddress Address = IPAddress.Parse(Ip);//
qSerIpendPoint = new IPEndPoint(Address, IpPort);
TL = new TcpListener(qSerIpendPoint);//准备监听
TL.Start();//开始
qSerTh = new Thread(new ThreadStart(Receive));
qSerTh.IsBackground = true;
qSerTh.Start();
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
private void Receive()
{
while (true)
{
try
{
Socket socket;
socket = TL.AcceptSocket();
string RemoteEndPoint = socket.RemoteEndPoint.ToString();
Byte[] Stream = new Byte[10240];
socket.Receive(Stream);//接收传来的值
// UTF8Encoding ServerReceiveStr = new UTF8Encoding();
socket.Send(Stream);//向客服端发送一个回复信息
socket.Close();
//socket.Disconnect(true);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Thread.Sleep(100);
}
}
private void Receive()
{
while (true)
{
try
{
Socket socket;
socket = TL.AcceptSocket();
string RemoteEndPoint = socket.RemoteEndPoint.ToString();
Byte[] Stream = new Byte[10240];
socket.Receive(Stream);//接收传来的值
// UTF8Encoding ServerReceiveStr = new UTF8Encoding();
socket.Send(Stream);//向客服端发送一个回复信息
socket.Close();
//socket.Disconnect(true);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
Thread.Sleep(100);
}
}
private TcpClient TC;
private NetworkStream stm;
private void button3_Click(object sender, EventArgs e)
{
//if (TC==null||!TC.Connected)
//{
Connect();
//}
//Send();
}
private void Connect()
{
try
{
string ServerIp = "127.0.0.1";//服务器地址
int ServerPort = 1000;//服务器端口号
TC = new TcpClient();
TC.Connect(ServerIp, ServerPort);//建立与服务器的连接
stm = TC.GetStream();//通过tcp
UTF8Encoding UTF8 = new UTF8Encoding();
byte[] str = UTF8.GetBytes(this.textBox1.Text);//把输入的内容编码
stm.Write(str, 0, str.Length);//向服务器发送信息
byte[] bb = new byte[10240];//接收服务器返回的数据
int k = stm.Read(bb, 0, 10240);
string RevStr = string.Empty;
RevStr = System.Text.UTF8Encoding.UTF8.GetString(bb, 0, k);//转换
this.textBox2.Text += RevStr;//连续显示在TEXTBOX内
stm.Close();
TC.Close();
}
catch (Exception ex)
{
throw new Exception(ex.Message);
}
}