📄 form1.cs
字号:
richTextBox1.Text += System.BitConverter.ToString(b_msg)+"\r\n";
//for (int i = 0; i < b_msg.Length; i++)
//richTextBox1.Text += b_msg[i].ToString("X2");
}
private void button2_Click(object sender, EventArgs e)
{
char c = '1';
byte lbit = (byte)c;
byte[] tmp_msg;
My8583 test8583;
byte[] tpdu={0x60,0x00,0x30,0x00,0x00};
int len = tpdu.Length;
byte[] cd = new byte[2];
cd[0] = (byte)((len / 256) % 256);
cd[1] = (byte)(len % 256);
//richTextBox1.Text = BitMap.Length.ToString();
//richTextBox1.Text = lbit.ToString("X");
//richTextBox1.Text += "len:" + len.ToString() + cd[0].ToString("X2") + cd[1].ToString("X2") + "con:" + "\r\n";
//richTextBox1.Text = System.BitConverter.ToString(tpdu);
//foreach (byte i in tpdu)
//richTextBox1.Text += i.ToString("X2");
test8583 = new My8583();
test8583.InitTab();
tmp_msg = test8583.TestPack8583("0200");
richTextBox1.Text = System.BitConverter.ToString(tmp_msg);
}
private void button3_Click(object sender, EventArgs e)
{
richTextBox1.Clear();
//richTextBox1.Text += System.BitConverter.ToString(b_msg) + "\r\n";
unpk8583= new My8583();
/**InitTba是必须的,否则无法赋值**/
unpk8583.InitTab();
unpk8583.UnPack8583(b_msg);
richTextBox1.Text += unpk8583.gettabx_data(0)+"\r\n";
richTextBox1.Text +=unpk8583.gettabx_data(1)+unpk8583.gettabx_data(3)+unpk8583.gettabx_data(10)+"\r\n";
richTextBox1.Text += "unpack8583 is ok!!!\r\n";
}
/***催发监听时间****/
private void button5_Click(object sender, EventArgs e)
{
ServerIp = GetServerIP();
IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });
ServerIp = ip;
tcpl = new TcpListener(ip, listenport);
tcpl.Start();
richTextBox1.Text += "正在监听" + string.Format("{0}:{1}\r\n", ServerIp.ToString(), listenport.ToString());
th = new Thread(new ThreadStart(Listen));
th.IsBackground = true;
th.Start();
button5.Enabled = false;
button6.Enabled = true;
}
private void button6_Click(object sender, EventArgs e)
{
Stop();
button5.Enabled = true;
button6.Enabled = false;
}
private void button4_Click(object sender, EventArgs e)
{
Send();
}
private void button7_Click(object sender, EventArgs e)
{
try
{
tcpc = new TcpClient(textBox3.Text, Int32.Parse(textBox4.Text));
tcpStream = tcpc.GetStream();
richTextBox2.Clear();
button7.Enabled = false;
button8.Enabled = true;
richTextBox2.Text = "目标计算机连接到服务器!";
}
catch (Exception)
{
richTextBox2.Text = "目标计算机拒绝连接请求!";
}
}
private void button8_Click(object sender, EventArgs e)
{
tcpStream.Dispose();
tcpc.Close();
richTextBox2.Text = "断开服务端连接!";
button7.Enabled = true;
button8.Enabled = false;
}
private void button9_Click(object sender, EventArgs e)
{
OneSend();
}
private void button12_Click(object sender, EventArgs e)
{
tcpStream.Dispose();
tcpc.Close();
richTextBox3.Text = "断开服务端连接!";
}
private void button10_Click(object sender, EventArgs e)
{
th = new Thread(new ThreadStart(listentest));
th.IsBackground = true;
th.Start();
}
private void listentest()
{
string readmsg = "";
IPAddress ip = new IPAddress(new byte[] { 127, 0, 0, 1 });
listener = new TcpListener(ip,8700);
listener.Start(); // 开始侦听
richTextBox3.AppendText("开始监听\r\n");
// 获取一个连接,同步方法,在此处中断
TcpClient remoteClient = listener.AcceptTcpClient();
// 获得流
NetworkStream streamToClient = remoteClient.GetStream();
do
{
// 写入buffer中
byte[] buffer = new byte[1024];
int bytesRead;
try
{
lock (streamToClient)
{
bytesRead = streamToClient.Read(buffer, 0, 1024);
}
if (bytesRead == 0) throw new Exception("读取到0字节");
/**加了richtextBox3.AppendText,导致堵塞,不能在do循环里加appendtext***/
readmsg = string.Format("Client Send:{0}>>>{1}\r\n", bytesRead, System.BitConverter.ToString(buffer, 0, bytesRead));
// 获得请求的字符串
string msg = Encoding.Unicode.GetString(buffer, 0, bytesRead);
Console.WriteLine("Received: {0}", msg);
// 抓换成大写并发送
//msg = msg.ToUpper();
msg = "谢谢你的发送";
buffer = Encoding.Unicode.GetBytes(msg);
lock (streamToClient)
{
streamToClient.Write(buffer, 0, buffer.Length);
}
Console.WriteLine("Sent: {0}", msg);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
break;
}
richTextBox3.AppendText(readmsg);
} while (true);
streamToClient.Dispose();
remoteClient.Close();
}
private void Stoptest()
{
listener.Stop();
th.Abort();
}
private void button14_Click(object sender, EventArgs e)
{
Stoptest();
}
private void button11_Click(object sender, EventArgs e)
{
try
{
tcpc = new TcpClient("127.0.0.1", Int32.Parse(textBox4.Text));
tcpStream = tcpc.GetStream();
richTextBox3.Clear();
}
catch (Exception)
{
richTextBox3.Text = "目标计算机拒绝连接请求!";
}
}
private void button13_Click(object sender, EventArgs e)
{
const int BufferSize = 8192;
string msg="hello,i am danny";
byte[] buffer = Encoding.Unicode.GetBytes(msg);
try
{
lock (tcpStream)
{
tcpStream.Write(buffer, 0, buffer.Length); // 发往服务器
}
richTextBox3.AppendText("发送--->");
richTextBox3.AppendText(msg);
int bytesRead;
buffer = new byte[BufferSize];
lock (tcpStream)
{
bytesRead = tcpStream.Read(buffer, 0, BufferSize);
}
msg = Encoding.Unicode.GetString(buffer, 0, bytesRead);
richTextBox3.AppendText("接收到--->");
richTextBox3.AppendText(msg);
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -