如何从在 websocket-sharp C# 中创建 WebSocket class 的新实例的代码的不同部分发送消息

How do I send a message from a different section of code from where the new instance of the WebSocket class was created in websocket-sharp C#

这是我在 Stack Overflow 上的第一个 post,所以如果我的问题不是很清楚,请原谅。要添加更多上下文,我想在单击连接按钮时打开到 WebSocket 的连接,并在单击发送按钮时从连接按钮打开的连接发送消息。问题是我无法从发送消息按钮访问我在连接按钮中创建的 ws 变量。下面的代码可能会让您更了解我想做什么:

   private void buttonConnect_Click(object sender, EventArgs e)
   {
        var ws = new WebSocket(textBoxSocketUrl.Text);

        ws.Connect();
   }

   private void buttonSendMessage_Click(object sender, EventArgs e)
   {
       ws.Send(textBoxMessage.Text);
   }

谢谢。

这是预期的,您看不到 ws 变量,因为它是在另一个 "context" 中创建的。为了得到它,ws 应该是你的 class 的一部分。尝试将您的代码更改为如下内容:

private WebSocket ws;

private void buttonConnect_Click(object sender, EventArgs e)
   {
        ws = new WebSocket(textBoxSocketUrl.Text);

        ws.Connect();
   }

   private void buttonSendMessage_Click(object sender, EventArgs e)
   {
       ws.Send(textBoxMessage.Text);
   }