简易的机器人和PLC信息提取。
----Socket程序结构分析: ---------
privateSocket server; 声明 Socket类提供一组丰富的网络通信方法和属性.
privateSocket client;
public void OpenTCP() ----建立程序
{
myThreadDelegate = new ThreadStart(Listen);
委托属性的变量激活委托指令启动线程监听
myThread = new Thread(myThreadDelegate);初始化线程类型变量
myThread.Start();线程类型变量开始执行
}
///
/// 创建TCP服务端并监听
///
public void Listen()//创建tcp服务端
{
//设置IP
string IP = ipAddressTB.Text;
int Port = Convert.ToInt32(portTB.Text); 设置端口
//初始化终结点实例
IPEndPoint localEP = new IPEndPoint(IPAddress.Parse(IP), Port);用指定的地址和端口号初始化
//初始化SOCKET实例
server = new Socket(localEP.AddressFamily, SocketType.Stream, ProtocolType.Tcp);
//允许SOCKET被绑定在已使用的地址上。
Socket(AddressFamily, SocketType, ProtocolType)使用指定的地址族、套接字类型和协议初始化
server.SetSocketOption(SocketOptionLevel.Socket, SocketOptionName.ReuseAddress, true);
ShowMsg("等待客户端连接..."); 发出信息
try
{
//绑定
server.Bind(localEP);
//监听10次
server.Listen(10);
client = server.Accept(); 服务接收
IPEndPoint clientIP = (IPEndPoint)client.RemoteEndPoint;
ShowMsg("已连接的客户端:" + clientIP.Address + ",端口:" + clientIP.Port);
Received_Robot();从机器人接收信息
}
catch (Exception ex)
{
//MessageBox.Show(ex.Message, "Listen_Error");
}
}
IPEndPoint(IPAddress.Parse(IP), Port)
重载 | |
IPEndPoint(Int64, Int32) | 用指定的地址和端口号初始化 IPEndPoint 类的新实例。 |
IPEndPoint(IPAddress, Int32) | 用指定的地址和端口号初始化 IPEndPoint 类的新实例。 |
Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp)
InterNetwork | 2 | IP 版本 4 的地址。 |
Stream支持可靠、双向、基于连接的字节流,而不重复数据,也不保留边界。 此类型的 Socket 与单个对方主机通信,并且在通信开始之前需要建立远程主机连接。 Stream使用传输控制协议 (ProtocolType.Tcp) 和 AddressFamily。InterNetwork 地址族。
Tcp | 6 | 传输控制协议。 |
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !