using;
using.Collections.Generic;
using.ComponentModel;
using.Data;
using.Drawing;
using.Text;
using.Windows.Forms;
using.Net;
using.Threading;
using.Net.Sockets;
Win_Talk
{
publicpartialForm1:Form
{
publicForm1
{
InitializeComponent;
}
privatevoidForm1_Load(objectsender,EventArgse)
{
}
#region//定义变量
IPAddressHostIP=IPAddress.Parse("127.0.0.1");
IPEndPopo;
Socket;
boolflag=true;
SocketacceptedSocket;
#endregion
#region//声名委托
delegatevoidSetTextCallback(text);
privatevoidSetText(text)
{
textBox2.AppendText(text+"rn");
}
#endregion
#region//进程思路方法
privatevoidProccess
{
(acceptedSocket.Connected)
{
while(flag)
{
receiveByte=[64];
acceptedSocket.Receive(receiveByte,receiveByte.Length,0);
strInfo=Encoding.BigEndianUnicode.GetString(receiveByte);
this.Invoke(SetTextCallback(SetText),object{strInfo});
}
}
}
#endregion
privatevoidbutton3_Click(objectsender,EventArgse)
{
try
{
.Close;
acceptedSocket.Close;
}
catch
{
}
finally
{
Close;
}
}
privatevoidbutton2_Click_1(objectsender,EventArgse)
{
try
{
BytesendByte=Byte[64];
sendStr=this.textBox1.Text+":"+this.textBox3.Text+"rn";
sendByte=Encoding.BigEndianUnicode.GetBytes(sendStr.ToCharArray);
acceptedSocket.Send(sendByte,sendByte.Length,0);
}
catch{}
}
privatevoidbutton1_Click_1(objectsender,EventArgse)
{
HostIP=IPAddress.Parse("127.0.0.1");
try
{
po=IPEndPo(HostIP,Int32.Parse("11000"));
=Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
.Bind(po);
.Listen(50);
acceptedSocket=.Accept;
Threadthread=Thread(ThreadStart(Proccess));
thread.Start;
}
catch(Exceptioney)
{
MessageBox.Show(ey.Message);
}
}
}
}
客户端代码:
using;
using.Collections.Generic;
using.ComponentModel;
using.Data;
using.Drawing;
using.Text;
using.Windows.Forms;
using.Net;
using.Threading;
using.Net.Sockets;
win_talkClient
{
publicpartialForm1:Form
{
#region//声名变量
IPAddressHostIP=IPAddress.Parse("127.0.0.1");
IPEndPopo;
Socket;
boolflag=true;
#endregion
#region//声名委托
delegatevoidSetTextCallback(text);
privatevoidSetText(text)
{
textBox2.AppendText(text+"rn");
}
#endregion
#region//进程
privatevoidProccess
{
(.Connected)
{
while(flag)
{
receiveByte=[64];
.Receive(receiveByte,receiveByte.Length,0);
strInfo=Encoding.BigEndianUnicode.GetString(receiveByte);
this.Invoke(SetTextCallback(SetText),object{strInfo});
}
}
}
#endregion
privatevoidbutton2_Click(objectsender,EventArgse)
{
try
{
BytesendByte=Byte[64];
sendStr=this.textBox1.Text+":"+this.textBox3.Text+"rn";
sendByte=Encoding.BigEndianUnicode.GetBytes(sendStr.ToCharArray);
.Send(sendByte,sendByte.Length,0);
}
catch{}
}
publicForm1
{
InitializeComponent;
}
privatevoidForm1_Load(objectsender,EventArgse)
{
}
privatevoidbutton1_Click(objectsender,EventArgse)
{
HostIP=IPAddress.Parse("127.0.0.1");
try
{
po=IPEndPo(HostIP,Int32.Parse("11000"));
=Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
.Connect(po);
Threadthread=Thread(ThreadStart(Proccess));
thread.Start;
}
catch(Exceptioney)
{
MessageBox.Show("服务器没有开启rn"+ey.Message);
}
}
privatevoidbutton3_Click(objectsender,EventArgse)
{
try
{
.Close;
}
catch
{
}
finally
{
Close;
}
}
}
}
最新评论