tcpecho.c

来自「ADS下基于AT91SAM7X256-EK的可以运行的uCOS-II源码」· C语言 代码 · 共 67 行

C
67
字号
#include "lwip/sys.h"#include "lwip/api.h"extern void uprintf(char *fmt,...);/*-----------------------------------------------------------------------------------*/static void tcpecho_thread(void *arg){  struct netconn *conn, *newconn;  err_t err;  //u8_t	OS_err;  /* Create a new connection identifier. */  conn = netconn_new(NETCONN_TCP);  /* Bind connection to well known port number 7. */  netconn_bind(conn, NULL, 7);  /* Tell connection to go into listening mode. */  netconn_listen(conn);  while(1) {    /* Grab new connection. */    newconn = netconn_accept(conn);	uprintf(".");    /*printf("accepted new connection %p\n", newconn);*/    /* Process the new connection. */    if(newconn != NULL) {      struct netbuf *buf;      void *data;      u16_t len;            while((buf = netconn_recv(newconn)) != NULL)       {	/*printf("Recved\n");*/	do {	  netbuf_data(buf, &data, &len);	  err = netconn_write(newconn, data, len, NETCONN_COPY);	  if(err != ERR_OK) {	    /*	    printf("tcpecho: netconn_write: error \"%s\"\n", lwip_strerr(err));*/	  }	} while(netbuf_next(buf) >= 0);	netbuf_delete(buf);	      }      /*printf("Got EOF, looping\n");*/      /* Close connection and discard connection identifier. */      netconn_delete(newconn);    }  }}/*-----------------------------------------------------------------------------------*/voidtcpecho_init(void){  sys_thread_new(tcpecho_thread, NULL,TCPIP_THREAD_PRIO);  }/*-----------------------------------------------------------------------------------*/

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?