我拥有的问题在某种程度上非常具体。通过滑动窗口协议进行数据转换,C
我必须通过链接在C中实现滑动窗口协议。我的sender.c文件接收参数的速度,延迟和丢失或损坏的文件的百分比。数据通过链接发送。由于这是一个学校任务,我不知道链接的实现细节,但是,发送者和接收者需要初始化一个端口和一个IP链接,我猜他们正在使用套接字。无论如何,我正在尝试向接收者发送连接参数,以便将它们用于超时和控制流。我创建数据帧有效载荷发送表示使用的速度和延迟的2个整数:
int s = (int)(*speed - '0'); int d = (int)(*delay - '0'); sprintf(t.payload,"%d%d",s,d);
当我打印发件人的s和d变量文件的结果是1,1-这是正确的。之后我将结果Payloar发送给接收器,其中payload [0]被分配给另一个称为速度的int变量,并且payload [1]被分配给另一个称为delay的int。问题是在这里他们有价值49而不是他们应该的。我尝试过使用atoi()函数,但是当我这样做时,延迟被成功转换为1,而速度转换为11,这是没有意义的。我尝试了很多不同的方式来使它工作,发送它们作为字符,并在接收端转换它们也没有帮助。
任何想法?
PS:对于巨大的文章和我的英文错误感到抱歉!
你能告诉我们代码,你到目前为止尝试过了什么(尽可能剥离,但尽可能多地理解数据类型和控制流)? – 2012-03-22 11:51:14