C#套接字编程中的时序控制

用户名

我目前正在开始大学网络规划课程的套接字编程项目。我也在做一个编程课,我们在其中学习C#,所以我认为使用C#完成此作业是合适的。

任务是创建一个简单的服务器-客户端连接,并在它们之间发送数据。这不是太大的问题,我已经阅读了一些教程并观看了一些视频,我想我知道自己在做什么。让我有些困惑的那部分是:

“ 2)服务器每秒例如通过单个字母“ R”或“ r”(请求)向客户端发送命令以寻求测量数据。(此处需要定时控制)。

这让我感到困惑,到底什么是时序控制?以及我该如何实施它。

提前致谢。

编辑:我发现了时序控制的“示例”,但它在C / C ++中,我是否需要做些喜欢的事情?

/* Step 5.2: Send and Receive Data in loops */
    time_old = getTime();
    iterationStep = 1;
    for (;;)
    {
        recvStatus = recv(TCPClient, recvBuffer,128,0);
        if(recvStatus == 0)
            break;
        else if(recvStatus == SOCKET_ERROR)
        {
            printf("Failed in recv(): %d\n",WSAGetLastError());
            break;
        }
        recvBuffer[recvStatus] = 0x00; /* '\0' */

        time_new = getTime();
        time_interval = time_new - time_old;
        time_old = time_new;

        printf("Step = %5d;     Time Interval = %8.6f;     Received String: %s\n", iterationStep,time_interval,recvBuffer);
        iterationStep++;
    }

    /* if "EXIT" received, terminate the program */
        if (!strcmp(recvBuffer,"EXIT"))
        {
            printf("TCP Server ready to terminate.");
            break;
        }
}

编辑2:

我正在尝试使用此方法,但遇到了一些麻烦。我创建了这种方法:

private static void SendRequest(Object source, ElapsedEventArgs e) {

        byte[] buffer = Encoding.Default.GetBytes("WAAAAT");
        acc.Send(buffer, 0, buffer.Length, 0);

    }           

但是如您所见,我无法使用“ acc”套接字,因为可以将其设置为参数。我尝试过,但是随后在调用该方法时出现很多错误,有什么建议吗?

最大Cookie

听起来您需要每秒使用“ System.Timers.Timer”类来执行“发送请求”功能。

例子:

static void Main()
{
    // Create a timer with a one second interval.
    aTimer = new System.Timers.Timer(1000);

    // Hook up the Elapsed event for the timer. 
    aTimer.Elapsed += SendRequest;
    aTimer.Enabled = true;
}

private static void SendRequest(Object source, ElapsedEventArgs e)
{
    // maybe end existing request if not completed?
    // send next request
}

在启动一个新请求之前是否超时(取消)任何现有请求都将取决于您的要求,因为也有可能并行运行许多请求。如果确实需要终止请求,则可以通过处置启动连接尝试的System.Net.Sockets.Socket来实现(您将需要处理Socket.Connect引发的任何错误)。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

套接字编程中的基本控制流程

来自分类Dev

C#套接字编程,关闭窗口

来自分类Dev

c#套接字编程错误

来自分类Dev

Ubuntu中的C ++ UDP套接字编程

来自分类Dev

Clojure中的套接字编程

来自分类Dev

套接字编程中的ProgressMonitorInputStream

来自分类Dev

UNIX中的套接字编程

来自分类Dev

C#中的Unix套接字

来自分类Dev

GUI在C#套接字中冻结

来自分类Dev

C#在套接字中更新ObservableCollection

来自分类Dev

linux中的分段错误(C中的套接字编程(TCP))

来自分类Dev

linux中的分段错误(C中的套接字编程(TCP))

来自分类Dev

无法转换为C中的指针类型套接字编程

来自分类Dev

在C套接字编程中写入/读取整数的正确方法

来自分类Dev

连接错误:Ubuntu中C语言的简单套接字编程

来自分类Dev

C ++套接字编程,使用getaddrinfo中的url:port / url

来自分类Dev

用C进行套接字编程中的recvfrom

来自分类Dev

在C套接字编程中写入/读取整数的正确方法

来自分类Dev

连接列表在C套接字编程中显示0.0.0.0

来自分类Dev

C 中的套接字编程,服务器代码出错

来自分类Dev

iOS套接字编程中的套接字响应问题

来自分类Dev

服务器套接字不能接受客户端。(C# UWP 异步套接字编程)

来自分类Dev

了解套接字编程中的select()

来自分类Dev

cmd中的Java套接字编程

来自分类Dev

C套接字编程:recv总是失败

来自分类Dev

接收特定的消息套接字编程C

来自分类Dev

异步套接字-与C#中的永久套接字的双工通信

来自分类Dev

如何在Linux C中以编程方式查找cpu套接字和每个套接字的核心数

来自分类Dev

C#中的异步套接字类的设计

Related 相关文章

热门标签

归档