• 大小: 37KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-12
  • 语言: C#
  • 标签: c#  TCP  

资源简介

VS平台下c#利用TCP/IP通信协议与川崎机器人连接实现通信

资源截图

代码片段和文件信息

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Net;
using System.Net.Sockets;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace TCP_Robot
{
    public partial class Form1 : Form
    {
        public Socket newclient_Client; //用于tcp通讯
        bool Connected_Client = false; //用于判断是否连接
        public Thread myThread_client;//用于监听
        public delegate void SetlblHandle(string str);
        public Form1()
        {
            InitializeComponent();
        }

        private void btnConn_Click(object sender EventArgs e)
        {
            ConnectRobot();
        }
        public void ConnectRobot()//链接tcp
        {
            byte[] data = new byte[1024];
            newclient_Client = new Socket(AddressFamily.InterNetwork SocketType.Stream ProtocolType.Tcp);
            string ipadd = “192.168.30.238“;//机器人IP地址
            int port = Convert.ToInt32(“23“);//端口号
            IPEndPoint ie = new IPEndPoint(IPAddress.Parse(ipadd) port);
            try
            {
                newclient_Client.Connect(ie);
                Connected_Client = true;         
                btnConn.Enabled = false;
                sendToRobot(“as\r\n“);//建立连接后,首先发送as,则可以通过计算机发送as语言指令
                SetTishi(“机器人链接成功...“);//显示


            }
            catch (SocketException e)
            {
                SetTishi(“连接机器人失败  “ + e.Message);
                return;
            }

            ThreadStart myThreaddelegate = new ThreadStart(ReceiveMsg);
            myThread_client = new Thread(myThreaddelegate);
            myThread_client.Start();


        }
        public void ReceiveMsg()//监听tcp
        {

            int thelastData = 999;
            while (true)
            {
                try
                {

                    byte[] data = new byte[1024];
                    int recv = newclient_Client.Receive(data);//接收消息
                    string stringdata = Encoding.UTF8.GetString(data 0 recv);//将bytes转换为字符
                    //string stringdata = Encoding.Unicode.GetString(data 0 recv);
                    if (stringdata == ““)//判断是否端口连接
                    {
                        SetTishi(“服务器已退出“);
                        newclient_Client.Close();
                        Connected_Client = false;
                        break;
                    }
                    //利用AS语言的检测变量的指令list实现监听功能
                    //因为发送‘list/r photo’监测变量photo的值返回的还有其它字符,所以要去掉这些字符
                    stringdata = stringdata.Trim();
                    string strTemp = “photo    =“;
                    int iCount = stringdata.IndexOf(strTemp);//得到多余字符的长度
                    if (iCount > 0)
                    {
                        string read = stringdata.Substring(strTemp.Length + iCount + 1 2)

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2017-12-29 10:14  TCP_Robot\
     目录           0  2017-12-29 10:14  TCP_Robot\TCP_Robot\
     文件         187  2017-12-28 15:43  TCP_Robot\TCP_Robot\App.config
     文件        2709  2017-12-28 15:53  TCP_Robot\TCP_Robot\Form1.Designer.cs
     文件        5766  2017-12-29 10:14  TCP_Robot\TCP_Robot\Form1.cs
     文件        5817  2017-12-28 15:53  TCP_Robot\TCP_Robot\Form1.resx
     文件         521  2017-12-28 15:43  TCP_Robot\TCP_Robot\Program.cs
     目录           0  2017-12-28 15:43  TCP_Robot\TCP_Robot\Properties\
     文件        1360  2017-12-28 15:43  TCP_Robot\TCP_Robot\Properties\AssemblyInfo.cs
     文件        2870  2017-12-28 15:43  TCP_Robot\TCP_Robot\Properties\Resources.Designer.cs
     文件        5612  2017-12-28 15:43  TCP_Robot\TCP_Robot\Properties\Resources.resx
     文件        1096  2017-12-28 15:43  TCP_Robot\TCP_Robot\Properties\Settings.Designer.cs
     文件         249  2017-12-28 15:43  TCP_Robot\TCP_Robot\Properties\Settings.settings
     文件        3798  2017-12-28 15:49  TCP_Robot\TCP_Robot\TCP_Robot.csproj
     目录           0  2017-12-28 15:43  TCP_Robot\TCP_Robot\bin\
     目录           0  2017-12-28 15:43  TCP_Robot\TCP_Robot\bin\Debug\
     文件         187  2017-12-28 15:43  TCP_Robot\TCP_Robot\bin\Debug\TCP_Robot.exe.config
     文件       24224  2017-12-29 09:39  TCP_Robot\TCP_Robot\bin\Debug\TCP_Robot.vshost.exe
     文件         187  2017-12-28 15:43  TCP_Robot\TCP_Robot\bin\Debug\TCP_Robot.vshost.exe.config
     文件         490  2010-03-17 22:39  TCP_Robot\TCP_Robot\bin\Debug\TCP_Robot.vshost.exe.manifest
     目录           0  2017-12-28 15:43  TCP_Robot\TCP_Robot\obj\
     目录           0  2017-12-28 15:49  TCP_Robot\TCP_Robot\obj\Debug\
     文件         865  2017-12-28 15:43  TCP_Robot\TCP_Robot\obj\Debug\DesignTimeResolveAssemblyReferences.cache
     文件        6931  2017-12-28 15:44  TCP_Robot\TCP_Robot\obj\Debug\DesignTimeResolveAssemblyReferencesInput.cache
     文件         180  2017-12-28 15:49  TCP_Robot\TCP_Robot\obj\Debug\TCP_Robot.Form1.resources
     文件         180  2017-12-28 15:49  TCP_Robot\TCP_Robot\obj\Debug\TCP_Robot.Properties.Resources.resources
     文件         390  2017-12-29 09:39  TCP_Robot\TCP_Robot\obj\Debug\TCP_Robot.csproj.FileListAbsolute.txt
     文件         977  2017-12-28 15:49  TCP_Robot\TCP_Robot\obj\Debug\TCP_Robot.csproj.GenerateResource.Cache
     文件        2211  2017-12-28 15:49  TCP_Robot\TCP_Robot\obj\Debug\TCP_Robot.csprojResolveAssemblyReference.cache
     目录           0  2017-12-29 10:15  TCP_Robot\TCP_Robot\obj\Debug\TempPE\
     文件           0  2017-12-28 15:43  TCP_Robot\TCP_Robot\obj\Debug\TemporaryGeneratedFile_036C0B5B-1481-4323-8D20-8F5ADCB23D92.cs
............此处省略4个文件信息

评论

共有 条评论