基恩士固定扫码枪喜欢使用socket通信是因为:
- 高效稳定:Socket通信是一种高效稳定的通信方式,能够保证数据传输的可靠性和实时性。
- 跨平台性:Socket通信是一种跨平台的通信方式,不限制操作系统和硬件平台,方便不同设备之间的通信。
- 简单易用:Socket通信相对于其他通信方式来说,编程接口相对简单,易于开发和使用。
- 可扩展性:Socket通信支持多对多的通信模式,可以同时与多个设备进行通信,具有较高的可扩展性。
- 大数据传输能力:Socket通信支持大数据传输,可以满足基恩士固定扫码枪对于大数据量实时传输的需求。
最新源代码下载---> 需要源代码
基恩士固定扫码枪 默认地址 192.168.100.100 端口9004
发送指令 LON 加回车触发扫码
private void button1_Click(object sender, EventArgs e)
{
try
{
bool check = false;
socketClient = new SocketClient(textIP.Text, 9004,out check);
if (check)
{
socketClient.StartReceiving();
listBox1.Items.Add("连接服务器成功!\r\n");
button1.Enabled = false;
button2.Enabled = true;
button3.Enabled = true;
}
else {
listBox1.Items.Add("连接服务器失败!\r\n");
}
}
catch (Exception ex)
{
listBox1.Items.Add("连接服务器失败!\r\n"+ ex.ToString());
return;
}
}
private void button2_Click(object sender, EventArgs e)
{
try
{
socketClient.CloseConnection();
this.Invoke(new Action(() =>
{
listBox1.Items.Add("关闭连接成功!\r\n");
button1.Enabled = true;
button2.Enabled = false;
button3.Enabled = false;
}));
}
catch (Exception ex)
{
this.Invoke(new Action(() =>
{
listBox1.Items.Add("关闭失败!\r\n");
}));
}
}
private void button5_Click(object sender, EventArgs e)
{
if (comboBox1.Text.Equals(""))
{
MessageBox.Show("请选择接口");
}
if (!serialPort1.IsOpen)
{
setcom(comboBox1.Text);
button1.Enabled = false;
button2.Enabled = true;
string strDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", DateTimeFormatInfo.InvariantInfo);
listBox1.Items.Add(strDate + " 打开成功: " + serialPort1.PortName + " 成功");
this.comboBox1.Enabled = false;
//serialPort1.Open();
}
}
private void timer1_Tick(object sender, EventArgs e)
{
this.Invoke(new Action(() =>
{
if (socketClient == null) {
return;
}
if (!socketClient.isConnection()) {
return;
}
if (!SocketClient.receiveSocketValue.Equals(""))
{
string strDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss", DateTimeFormatInfo.InvariantInfo);
listBox1.Items.Add(strDate + " 接收数据: " + SocketClient.receiveSocketValue + " 成功");
SocketClient.receiveSocketValue = "";
}
}));
}