基于Linux的socket编程模板(5)
来源:未知 责任编辑:责任编辑 发表时间:2014-01-20 07:53 点击:次
}
// get return status
if( rPack.returnCMD != DVS_RETURN_SUCCESS )
{
printf("return status : fail!\n");
return -3;
}
return 0;
}
三、服务器主线程代码
//////////////////////////////////////////////////////////////////////////
// COPYRIGHT NOTICE
// Copyright (c) 2011, 华中科技大学 ticktick(版权声明)
// All rights reserved.
//
/// @file server.c
/// @brief tcp服务器主线程代码
///
/// 实现tcp服务端监听线程相关函数
///
/// @version 1.0
/// @author lujun
/// @E-mail lujun.hust@gmail.com
/// @date 2011/08/21
//
//
// 修订说明:
//////////////////////////////////////////////////////////////////////////
#include <sys/types.h>
#include <sys/socket.h>
#include <stdio.h>
#include <netinet/in.h>
#include <unistd.h>
#include "serverIf.h"
int g_hServerSocket;
int open_port( int localport )
{
int result;
int clientSocket,client_len;
struct sockaddr_in server_addr;
struct sockaddr_in client_addr;
// create a socket obj for server
g_hServerSocket = socket(AF_INET,SOCK_STREAM,0);
// bind tcp port
server_addr.sin_family = AF_INET;
server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
server_addr.sin_port = htons(localport);
result = bind(g_hServerSocket,(struct sockaddr *)&server_addr,sizeof(server_addr) );
if( result != 0 )
{
printf("[tcp server] bind error!\n ");
return -1;
}
// begin to listen
result = listen(g_hServerSocket,5);
相关新闻>>
- 发表评论
-
- 最新评论 更多>>