问题描述
我是新手,想通过C#编写一个小程序,实现通过以太网口从工业控制器以太网读取数据。目前已知的信息是,我通过超级终端进行以下设置后(工业控制器的端口号设定与之相同),即可接收到来之工业控制器的数据。麻烦高手帮忙看看代码应该怎么写?谢谢
解决方案
解决方案二:
该回复于2016-07-02 00:01:49被版主删除
解决方案三:
如果超级终端可以,那么说明它是一个标准的telnet服务器端,你可以参考http://blog.csdn.net/foart/article/details/6833815
解决方案四:
谢谢版主,学习中...
解决方案五:
一个文本式的tcp通讯例子可以这样写usingSystem;usingSystem.IO;usingSystem.Net;usingSystem.Net.Sockets;usingSystem.Threading;namespaceConsoleApplication1{classProgram{staticvoidMain(string[]args){ThreadPool.QueueUserWorkItem(h=>receive());ThreadPool.QueueUserWorkItem(h=>send());Console.WriteLine("..............................请按任意键退出");Console.ReadLine();}privatestaticvoidsend(){vars=newTcpListener(IPAddress.Any,port);s.Start();vara=s.AcceptTcpClient();using(varwf=newStreamWriter(a.GetStream())){wf.WriteLine("abc");wf.WriteLine("你好啊");wf.WriteLine("じ✿ゞ");}}privatestaticstringhost="127.0.0.1";privatestaticintport=1234;///<summary>///首先作为客户端连接,然后接收数据///</summary>privatestaticvoidreceive(){vars=newTcpClient(host,port);using(varr=newStreamReader(s.GetStream())){while(!r.EndOfStream){varmessage=r.ReadLine();Console.WriteLine(message);}}}}}
我们谈的是比较专业一点的开发。但是对于初学者,其实学的应该是这个。这就好像是幼儿园学的数学跟一个建筑工程师学的数学肯定是不一样的,幼儿园学的数学也是实用的,就像这里的程序也可以用来改一改就去应付。只不过这里的程序是有其适应场合、针对的人群的!
解决方案六:
这里,按照你的描述,发送信息方是服务器,而客户端则用来接收信息。这里只考虑单机对单机的通讯。
解决方案七:
虽然这是一个“幼儿园的”例子,但是说明了一些基本的底层概念:服务器要监听IPAddress.Any,服务器要等待客户端接入(AcceptTcpClient),服务器使用与客户端建立的连接(a)与之双向通讯(可写、也可读),对于支持文本协议的通讯可以使用最基础的StreamWriter、StreamReader来处理。客户端则必服务器端简单一些、更少一个环节。客户端在实例化时直接与服务器建立联系(s),然后对于支持文本协议的通讯可以使用最基础的StreamWriter、StreamReader来处理。其实这很简单。为什么有些代码很复杂?你自己想想。
解决方案八:
谢谢大家的回复,我还在慢慢消化中。可能我描述得不是很清楚,我再详细描述一下我的需求:●硬件:电脑1台、普通网线1根、工业控制器1台(比如:伺服驱动器)●背景:当工业控制器驱动伺服电机完成一个工作周期后(只知道伺服驱动器的IP地址和发送数据的端口号,不知道其内部数据发送机制),会产生相应的结果数据:扭矩、速度、角度等。已知通过超级终端(见初贴)可以读取到相应的结果数据,但不便于我二次处理。●需求:想自己写一个小程序,通过它去接收工业控制器的结果数据。拿到这个数据后,我再进行别的处理(比如让其显示在窗体应用程序中供操作工查看,这段代码我会写)这其实是一个工业场合的应用,我不知道如何写出接收数据的代码,还望大家指点迷津,或是给个思路或大体框架,我自己去琢磨。诚挚感谢~~
解决方案九:
在这个应用中,电脑只接收来之工业控制器的数据。
解决方案十:
以数台电脑作为载体的聊天软件,比如客户端和服务端的代码我会写。但在这个应用中,由于工业控制器是个死物,只是单纯的发送数据而已,除开可以修改ip和端口外,在通讯层面就没有可操作的地方了。不知道电脑和工业控制器(或者多台控制器)之间,谁是服务端,谁是客户端?