TCP Server—Linux
#include <stdio.h>
#include <netinet/ip.h>
#define BUFF_SIZE 1024
int main(int argc,char *argv[])
{
int a = 0;
int iSock = 0, tmpSock = 0;
int opt = 0;
int iRet = 0;
int iRes = 0;
int iFileDesc = 0;
int iFileRet = 0;
unsigned short usPeerPort = 11000;
char *pPeerIP = "192.168.1.100";
unsigned char pRecvBuff[20480];
unsigned char pSendBuff[20480] = "I'm Zynq ^_^";
time_t now;
struct tm *p;
unsigned int uiCnt = 0;
unsigned int uiPeriod = 0;
unsigned int uiSpeed = 0;
unsigned int uiTmp = 0;
char filePre[20] = {0};
char fileName[100] = {0};
char cmd[100] = {0};
struct sockaddr_in addrLocal, addrPeer;
static unsigned int s_uiLen = 0;
memset(pRecvBuff, 0x00, 1024);
iSock = socket(AF_INET, SOCK_STREAM, 0);
if (iSock < 0)
{
printf("Create socket error![%d]\n", iSock);
return 0;
}
//iRes = 1;
//ioctlsocket(iSock, FIONBIO, (u_long FAR*)&iRes);
/* 设置本地的IP地址 */
addrLocal.sin_family = AF_INET;
addrLocal.sin_port = htons(8960);
addrLocal.sin_addr.s_addr = htonl(INADDR_ANY);
//addrLocal.sin_addr.S_un.S_addr = inet_addr("10.10.22.100");
///* 设置远端的IP地址 --by cqs */
//addrPeer.sin_family = AF_INET;
//addrPeer.sin_port = htons(usPeerPort);
//addrPeer.sin_addr.s_addr = inet_addr(pPeerIP);
iRet = bind(iSock, (struct sockaddr *)&addrLocal, sizeof(struct sockaddr));
if (iRet < 0)
{
printf("bind error\n");
return 0;
}
iRet = listen(iSock, 5);
if (iRet < 0)
{
printf("listen error\n");
return 0;
}
opt = sizeof(struct sockaddr);
tmpSock = accept(iSock, (struct sockaddr *)&addrPeer, &opt);
if (tmpSock > 0)
{
printf("accepted %d.\n", tmpSock);
}
else
{
printf("accepted error %d.\n", tmpSock);
}
while(1)
{
iRet = recv(tmpSock, pRecvBuff, BUFF_SIZE, 0);
if (iRet > 0)
{
printf("%s.\n", pRecvBuff);
}
}
close(tmpSock);
close(iSock);
return 0;
}
版权声明:
作者:朝雾之归乡
出处:http://www.cnblogs.com/cnpirate
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文链接,否则保留追究法律责任的权利。

浙公网安备 33010602011771号