ADP-L610-arduino

本文介绍了如何使用socket在服务器端搭建TCP服务器,并详细解释了GTSET指令的用法,特别是在设置TCP数据接收形式方面的应用。在遇到服务器端因ctrl c退出导致端口号占用问题时,提出了疑问并寻求解决方案。
摘要由CSDN通过智能技术生成

服务器端使用 socket 搭建 TCP 的服务器

server.c 见文章末尾

关于TCP连接收到的为编码后的数据流:
在这里插入图片描述

使用 GTSET 指令

在这里插入图片描述
当参数 future 被设置为 “SENDTIME” 时,设置自动接收的超时时间
当参数 future 被设置为 “IPRFMT” 时, 设置接收数据的形式(就是这里)
value 设置为 0 时,接收TCP,UDP数据并且编码,使用我们收到的都是 04861573663A1…
当设置为 1 时,接收 字符串,并且不进行编码,也不加入 CR , LF
当设置为 0 时,接收 字符串,不进行编码,但是回加入 CR,LF 并且 在数据流前方加入 MIPRTCP 或者 MIPRUDP
在这里插入图片描述
在这里插入图片描述

CR:Carriage Return,对应ASCII中转义字符\r,表示回车
LF:Linefeed,对应ASCII中转义字符\n,表示换行

server.c

#include<stdio.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<string.h>
#include<unistd.h>
#include <arpa/inet.h>
#include<pthread.h>

static void usage(const char *proc)
{
   
    printf("Please use :%s [IP] [port]\n",proc);
}

void thread_run(void *arg)
{
   
    printf("creat a new thread\n");
    int fd = (int)arg;
    char buf[1024];

    pid_t pid;
    pid &
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值