好文档 - 专业文书写作范文服务资料分享网站

管理系统中计算机应用实践报告

天下 分享 时间: 加入收藏 我要投稿 点赞

..

/*******************************************************\\ * server.c - 简单 TCP/UDP 套接字服务器程序 windows环境 * \\*******************************************************/ #include //套接字头文件 #include #include #include #include

#pragma comment(lib,\添加库 int main(void) {

unsigned short port= 5001;

//端口号

//缺省使用TCP连接 //收发缓冲区

//临时变量

int socket_type = SOCK_DGRAM; char Buffer[1024];

int retval, fromlen, i, isconnected = 0;

a

..

struct sockaddr_in local, from; //套接字地址结构变量 SOCKET listen_socket, msgsock; //套接字变量 WSADATA wsaData;

//windows套接字信息

//先输入服务器程序所需要的基本信息:端口号,套接字类型 printf(\请输入端口号( >5000 ):\scanf(\if(i < 5000 || i > 65535) else

port = i;

printf(\不正确的端口号%d,用缺省端口号5001\\n\

printf(\请输入套接字类型( 1,TCP; 2, UDP ):\scanf(\if(i == 1)

socket_type = SOCK_STREAM;

else if(i == 2)

a

..

else

socket_type = SOCK_DGRAM;

printf(\不正确的输入%d,使用TCP数据流\\n\

//在windows环境下,需要先初始化协议栈

if ((retval = WSAStartup(0x202, &wsaData)) != 0) //初始化套接字版本等信息

{

printf(\失败,错误号:%d\\n\ WSACleanup();//在创建失败,或者程序结束,都要调用 return -1; }

//建立套接字

listen_socket = socket(AF_INET, socket_type, 0); if (listen_socket == INVALID_SOCKET)

{

a

..

printf(\失败,错误号:%d\\n\ WSACleanup(); return -1; }

// 拷贝 解析的信息到sockaddr_in结构中 local.sin_family = AF_INET;

local.sin_addr.s_addr = INADDR_ANY; local.sin_port = htons(port);

//邦定网络地址到套接字

if (bind(listen_socket,(struct sockaddr*)&local, sizeof(local) ) == SOCKET_ERROR) //绑定网络地址

{

printf(\失败,错误号:%d\\n\ WSACleanup(); return -1;

a

..

}

//对于流式套接字,让套接字处于监听状态,等待连接到来

if (socket_type != SOCK_DGRAM)

{

if (listen(listen_socket,5) == SOCKET_ERROR) //监听网络

{

printf(\失败,错误号:%d\\n\ WSACleanup(); return -1; } }

printf(\监听端口:%d, 使用协议:%s\\n\

(socket_type == SOCK_STREAM)? \

while(1)

{

a

管理系统中计算机应用实践报告

../*******************************************************\\*server.c-简单TCP/UDP套接字服务器程序windows环境*\\***********************************
推荐度:
点击下载文档文档为doc格式
480ey7ofy79epjx24qwd4i6jo0x1tb0125q
领取福利

微信扫码领取福利

微信扫码分享