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;
}

  

posted @ 2013-12-18 17:41  朝雾之归乡  阅读(537)  评论(0编辑  收藏  举报