TCP Server端实现
C/S模型:
讯享网
实例操作:通过PC端发送字符串给STM32,在让STM32把小写转换成大写,发回给PC端,由此实现PC端到STM32端的交互过程。


TCP Client实现
C/S模型:

操作实例:
通过PC端发送小写的字符串,再通过转换成大写字符串,由STM32发送给PC端。

在这里插入代码片 #include "socket_tcp_server.h" #include "socket_wrap.h" #include "ctype.h" char ReadBuff[BUFF_SIZE]; / * @brief TCP 服务器任务 * @param None * @retval None */ void vTcpServerTask(void){
int sfd, cfd, n, i; struct sockaddr_in server_addr, client_addr; socklen_t client_addr_len; //创建socket sfd = Socket(AF_INET, SOCK_STREAM, 0); server_addr.sin_family = AF_INET; server_addr.sin_port = htons(SERVER_PORT); server_addr.sin_addr.s_addr = htonl(INADDR_ANY); //绑定socket Bind(sfd, (struct sockaddr *)&server_addr, sizeof(server_addr)); //监听socket Listen(sfd, 5); //等待客户端连接 client_addr_len = sizeof(client_addr); again: cfd = Accept(sfd, (struct sockaddr *)&client_addr, &client_addr_len); printf("client is connect cfd = %d\r\n",cfd); while(1){
//等待客户端发送数据 n = Read(cfd, ReadBuff, BUFF_SIZE); if(n <= 0){
goto again; } //进行大小写转换 for(i = 0; i < n; i++){
ReadBuff[i] = toupper(ReadBuff[i]); } //写回客户端 n = Write(cfd, ReadBuff, n); if(n < 0){
goto again; } } }
讯享网
`
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/64277.html