在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
代码
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Net; using System.Net.Sockets; using System.Windows.Forms; namespace WindowsApplication3 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void button1_Click(object sender, EventArgs e) { try { int port = Convert.ToInt32(portm.Text); string host = ipAddress.Text; IPAddress ip = IPAddress.Parse(host); IPEndPoint ipe = new IPEndPoint(ip, port); Socket c = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); c.Connect(ipe); byte[] obuf = strToToHexByte("00 00 00 00 00 06 01 03 00 00 00 0A"); c.Send(obuf, obuf.Length, 0); byte[] recvBytes = new byte[256]; c.Receive(recvBytes, recvBytes.Length, 0); recent.Text = byteToHexStr(recvBytes); c.Close(); } catch (ArgumentNullException ex) { recent.Text = ex.ToString(); } catch (SocketException ex) { recent.Text = ex.ToString(); } } //16进制转换 public static string byteToHexStr(byte[] bytes) { string returnStr = ""; if (bytes != null) { for (int i = 0; i < bytes.Length; i++) { returnStr += bytes[i].ToString("X2") + " "; } } return returnStr; } //字符串转byte private static byte[] strToToHexByte(string hexString) { hexString = hexString.Replace(" ", ""); if ((hexString.Length % 2) != 0) hexString += " "; byte[] returnBytes = new byte[hexString.Length / 2]; for (int i = 0; i < returnBytes.Length; i++) returnBytes[i] = Convert.ToByte(hexString.Substring(i * 2, 2), 16); return returnBytes; } private void timer1_Tick(object sender, EventArgs e) { button1_Click(sender,e); } private void button2_Click(object sender, EventArgs e) { timer1.Enabled = true; } private void button3_Click(object sender, EventArgs e) { timer1.Enabled = false; } } }
|
请发表评论