<>socket通信-udp和TCP-串口通信

socket通信-udp和TCP-串口通信《区别》

1.UDP串口不用 IP地址 client和server可以不分先后都可以执行

2.TCP串口要用IP地址,分先后,server先,client后,还要等段时间再可以执行

##############################################################

##############################################################

第一,串口通信UDP

《Makefile》

# Makefile
#

#CROSS_COMPILE = arm-linux-gnu-

CC = $(CROSS_COMPILE)gcc

ifdef CROSS_COMPILE
TARGET = /opt/filesystem
endif

DEBUG = -g -O0 -Wall

CFLAGS += $(DEBUG)

PROGS = ${patsubst %.c, %, ${wildcard *.c}}

all : $(PROGS)

install: $(PROGS)
ifdef CROSS_COMPILE
 mkdir $(TARGET)/root/long_term/networks -p
 cp $(PROGS) $(TARGET)/root/long_term/networks -f
endif
% : %.c
 $(CC)  $(CFLAGS)  $< -o $@

.PHONY: uninstall clean dist

uninstall :
ifdef CROSS_COMPILE
 cd $(TARGET)/root/long_term/networks && rm -f $(PROGS)
endif

clean : uninstall
 - rm -f $(PROGS) core *.gz *~

dist: clean
 tar czf ../farsight_simple_select_demo1.41.tar.gz *.c ../myselect

********************************************************************

客户端,发信息端


#include    <stdio.h>
#include    <stdlib.h>
#include    <string.h>
#include    <sys/types.h>
#include    <sys/socket.h>
#include    <netinet/in.h>


#define           SERVER_PORT          5432


int main(int argc, char *argv[])
{
 char buf[256], *p;

 struct sockaddr_in sin;

 int fd, newfd, len;


 fd = socket(AF_INET, SOCK_DGRA

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
随着物联网技术的不断发展,串口通信TCP/IP通信的应用越来越广泛。在实际应用中,我们经常会遇到需要将串口数据转发到TCP服务器或将TCP服务器数据转发到串口的情况。因此,本文将介绍如何实现串口服务器和TCP服务器之间的数据转发。 一、串口服务器 串口服务器是一种可以将串口设备连接到网络上的设备。它可以通过网络远程访问串口设备,从而方便地进行串口通信。 串口服务器通常具有以下特点: 1. 支持多个串口设备连接:一台串口服务器可以连接多个串口设备,提高了串口设备的利用率。 2. 支持多种网络连接方式:可以通过以太网、无线网络等多种方式连接到网络。 3. 支持多种协议:可以支持TCP/IP、UDP等多种网络协议。 4. 支持多种操作系统:可以运行在Linux、Windows等多种操作系统上。 二、TCP服务器 TCP服务器是一种通过TCP/IP协议进行通信的服务器。它可以接收客户端的连接请求,建立连接并提供服务。 TCP服务器通常具有以下特点: 1. 支持多个客户端连接:可以同时处理多个客户端连接请求。 2. 支持多种协议:可以支持HTTP、FTP等多种网络协议。 3. 支持多种编程语言:可以使用Java、C#、Python等多种编程语言进行开发。 三、串口服务器与TCP服务器的数据转发 为了实现串口服务器和TCP服务器之间的数据转发,我们需要编写一个数据转发程序。该程序需要完成以下功能: 1. 从串口读取数据,并将数据发送到TCP服务器。 2. 从TCP服务器读取数据,并将数据发送到串口。 下面是一个简单的串口服务器与TCP服务器之间的数据转发程序: ```python import serial import socket # 串口配置 ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) # TCP服务器配置 sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) sock.bind(('0.0.0.0', 8888)) sock.listen(5) # 循环读取数据并转发 while True: # 从串口读取数据 data = ser.readline() if data: # 将数据发送到TCP服务器 conn, addr = sock.accept() conn.send(data) conn.close() # 从TCP服务器读取数据 conn, addr = sock.accept() data = conn.recv(1024) if data: # 将数据发送到串口 ser.write(data) conn.close() ``` 以上程序只是一个简单的示例,实际应用中需要根据具体情况进行修改。例如,可以添加数据校验、数据过滤等功能,提高程序的稳定性和可靠性。 四、总结 本文介绍了串口服务器和TCP服务器的基本概念,并提供了一个简单的串口服务器与TCP服务器之间的数据转发程序。通过学习本文,读者可以了解到如何实现串口服务器和TCP服务器之间的数据转发,为实际应用提供参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值