视觉校偏参考

//mpMain.c////This contains mpUsrRoot which is the entry point for your MotoPlus application
//ADDITIONAL INCLUDE FILES //(Note that motoPlus.h should be included in every source file)#include "motoPlus.h"

void mpUsrRoot(int arg1, int arg2, int arg3, int arg4, int arg5,         int arg6, int arg7, int arg8, int arg9, int arg10){  unsigned int run_cnt;  run_cnt = 0;  while (1)  {    mpTaskDelay(2500);    printf("mpUsrRoot task Runing![%d]\n",run_cnt);    run_cnt++;      }  mpExitUsrRoot;    }  
 

/ for GLOBAL DATA DEFINITIONSSEM_ID semid;
// for IMPORT API & FUNCTIONSextern void moto_plus0_task(void);
// for LOCAL DEFINITIONSstatic int tid1;
void mpUsrRoot(int arg1, int arg2, int arg3, int arg4, int arg5, int arg6, int arg7, int arg8, int arg9, int arg10){ tid1 = mpCreateTask(MP_PRI_TIME_NORMAL, MP_STACK_SIZE, (FUNCPTR)moto_plus0_task, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10); semid = mpSemBCreate(SEM_Q_FIFO, SEM_EMPTY); puts("Exit mpUsrRoot!"); mpExitUsrRoot; //(or) mpSuspendSelf;}

#include "motoPlus.h"
// for API & FUNCTIONSvoid moto_plus0_task(void);void ap_TCP_Sserver(ULONG portNo);#define PORT        11000#define BUFF_MAX    1023
void moto_plus0_task(void){    puts("Activate moto_plus0_task!");
    ap_TCP_Sserver(PORT);
    mpSuspendSelf;}
char *strupr(char *string);
void ap_TCP_Sserver(ULONG portNo){    int     sockHandle;    struct  sockaddr_in     serverSockAddr;    int     rc;
    printf("Simple TCP server\n");
    sockHandle = mpSocket(AF_INET, SOCK_STREAM, 0);    if (sockHandle < 0)        return;
    memset(&serverSockAddr, 0, sizeof(serverSockAddr));    serverSockAddr.sin_family = AF_INET;    serverSockAddr.sin_addr.s_addr = INADDR_ANY;    serverSockAddr.sin_port = mpHtons(portNo);
    rc = mpBind(sockHandle, (struct sockaddr *)&serverSockAddr, sizeof(serverSockAddr));     if (rc < 0)        goto closeSockHandle;
    rc = mpListen(sockHandle, SOMAXCONN);    if (rc < 0)        goto closeSockHandle;
    while (1)    {        int     acceptHandle;        struct  sockaddr_in     clientSockAddr;        int     sizeofSockAddr;
        memset(&clientSockAddr, 0, sizeof(clientSockAddr));        sizeofSockAddr = sizeof(clientSockAddr);
        acceptHandle = mpAccept(sockHandle, (struct sockaddr *)&clientSockAddr, &sizeofSockAddr);
        if (acceptHandle < 0)            break;
        while( 1 )        {            int     bytesRecv;            int     bytesSend;            char    buff[BUFF_MAX + 1];
            memset(buff, 0, sizeof(buff));
            bytesRecv = mpRecv(acceptHandle, buff, BUFF_MAX, 0);
            if (bytesRecv < 0)                break;
            strupr(buff);            bytesSend = mpSend(acceptHandle, buff, bytesRecv, 0);
            if (bytesSend != bytesRecv)                break;
            if (strncmp(buff, "EXIT", 4) == 0 || strncmp(buff, "exit", 4) == 0)                break;        }        mpClose(acceptHandle);    }closeSockHandle:    mpClose(sockHandle);
    return;}
char *strupr(char *string){    int    i;    int     len;
    len = strlen(string);  for (i=0; i < len; i++)  {      if (isalpha((unsigned char)string[i]))      {        string[i] = toupper(string[i]);        }  }    return (string);}

#include   "stdafx.h"#include   <winsock2.h>
#define PORT        11000#define BUFF_MAX    1023
int _tmain(int argc, _TCHAR* argv[]){    SOCKET  sockHandle;    struct  sockaddr_in     serverSockAddr;    int     cntRcvSnd;    int     rc;    WSADATA data;    char    keyInBuff[128];    unsigned short  portNo;
    printf("Simple TCP client\n");    printf(" Please type PORT No. >");    fgets(keyInBuff, 128, stdin);    portNo = atoi(keyInBuff);
    WSAStartup(MAKEWor(2,0), &data);
    if ((sockHandle = socket(AF_INET, SOCK_STREAM, 0)) < 0)    {        printf("Error : socket() rc = %d\n", sockHandle);        exit(1);    }
    memset(&serverSockAddr, 0, sizeof(serverSockAddr));    serverSockAddr.sin_family = AF_INET;
    printf(" Please type IP addr. >");    fgets(keyInBuff, 128, stdin);    serverSockAddr.sin_addr.s_addr = inet_addr(keyInBuff);    serverSockAddr.sin_port = htons(portNo);
    rc = connect(sockHandle, (struct sockaddr *)&serverSockAddr, sizeof(serverSockAddr));  if (rc < 0)    {        printf("Error : connect() rc = %d\n", rc);        goto closeSockHandle;    }
    printf(" Please type the ASCII characters\n");    printf(" > ");    cntRcvSnd = 0;    while (1)    {        int     bytesKeyin;        int     bytesSend;        int     bytesRecv;        char    buff[BUFF_MAX + 1];
        fgets(buff, BUFF_MAX, stdin);        bytesKeyin = strlen(buff);        bytesSend = send(sockHandle, buff, bytesKeyin, 0);        if (bytesSend != bytesKeyin)        {            printf("Error : send() rc = %d\n", bytesSend);            break;        }        cntRcvSnd++;        printf("send(%d) : %s", cntRcvSnd, buff);                bytesRecv = recv(sockHandle, buff, bytesSend, 0);        if (bytesRecv < 0)        {            printf("Error : recv() rc = %d\n", bytesRecv);            break;        }                cntRcvSnd++;        buff[bytesRecv] = '\0';        printf("recv(%d) : %s", cntRcvSnd, buff);
      if ((strncmp(buff, "EXIT\n", 5) == 0) || (strncmp(buff, "exit\n", 5) == 0))        {            break;        }
        printf(" > ");    }closeSockHandle:    if (sockHandle >= 0)    {        closesocket(sockHandle);    }    WSACleanup();    exit(0);}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工业机器人辅导员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值