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

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

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

..

2.2原理说明书 2.3程序注释

/******************************************************\\ * client.c - 简单的 TCP/UDP 套接字客户程序 windows环境 * \\******************************************************/ #include //关于套接字的头文件 #include #include #include #include

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

unsigned short port = 5001;

//端口号

//缺省使用TCP连接

int socket_type = SOCK_STREAM;

a

..

char Buffer[1280]; //收发缓冲区 unsigned int addr; //IP地址变量 int retval,i;

//临时变量

struct sockaddr_in server, from; //套接字地址结构变量 struct hostent *hp; WSADATA wsaData; SOCKET conn_socket;

//主机信息结构变量指针 //windows套接字信息 //套接字变量

//先输入客户程序所需要的基本信息:服务器地址,端口号,

套接字类型

printf(\请输入服务器地址:\scanf(\

printf(\请输入端口号( >5000 ):\scanf(\if(i < 5000 || i > 65535)

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

a

..

else

port = i;

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

socket_type = SOCK_STREAM;//设定为SOCK_STREAM

else if(i == 2) else

printf(\不正确的输入%d,使用TCP数据流\\n\socket_type = SOCK_DGRAM;//设定为SOCK_DGRAM

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

if ((retval = WSAStartup(0x202, &wsaData)) != 0) //WSAStartup函数调用,用来初始//socket

{

printf(\失败,错误号:%d\\n\

a

..

WSACleanup();//当调用了WSAStartup之后,就需要调用WSACleanup函数释放内存 return -1; }

//取得主机IP地址

if (isalpha(Buffer[0])) //是域名或命名地址,用首字母的是否在A-Z,或者a-z来判断是域名还是IP地址

hp = gethostbyname(Buffer);//从一个主机数据库中提取出主机信息 else

{

addr = inet_addr(Buffer);//是点分地址

hp = gethostbyaddr((char *)&addr,4,AF_INET);//根据网络地址,获得主机信息,执行成功,就返回一个指向主机信息的结构 }

if (hp == NULL )

a

..

{

printf(\不能解析地址[%s]: 错误号%d\\n\WSAGetLastError());//用于获取错误信息 WSACleanup(); exit(1); }

// 拷贝 解析的信息到sockaddr_in结构中

memset(&server,0,sizeof(server));//分配内存空间,由server返回 memcpy(&(server.sin_addr),hp->h_addr,hp->h_length);//信息的copy

server.sin_family = hp->h_addrtype;//组协议初始化 server.sin_port = htons(port);//端口号初始化

//建立套接字

conn_socket = socket(AF_INET,socket_type,0); if (conn_socket <0 )

a

{

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

..2.2原理说明书2.3程序注释/******************************************************\\*client.c-简单的TCP/UDP套接字客户程序windows环境*\\*************
推荐度:
点击下载文档文档为doc格式
480ey7ofy79epjx24qwd4i6jo0x1tb0125q
领取福利

微信扫码领取福利

微信扫码分享