网站大量收购闲置独家精品文档,联系QQ:2885784924

基于socket的聊天系统设计.doc

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
《网络程序设计》课程设计 基于socket的聊天系统设计 摘要:本设计通过研究讨论,设计了基于socket编程的网络聊天系统,并且通过验证与测试,证明了系统的可用性、易用性、完善性。 关键词:socket、server、client、聊天系统 引言:socket通常也称作套接字,用于描述IP地址和端口,是一个通信链的句柄。应用程序通常通过套接字向网络发出请求或者应答网络请求。 一、开发原理 服务器:使用ServerSocket监听指定的端口,端口可以随意指定(由于1024以下的端口通常属于保留端口,在一些操作系统中不可以随意使用,所以建议使用大于1024的端口),等待客户连接请求,客户连接后,会话产生;在完成会话后,关闭连接。   客户端:使用Socket对网络上某一个服务器的某一个端口发出连接请求,一旦连接成功,打开会话;会话完成后,关闭Socket。客户端不需要指定打开的端口,通常临时的、动态的分配一个1024以上的端口。 二、实现目标 根据客户机提出各种请求,服务器能够根据不同请求,发送不同的响应,最终实现服务器端与客户机端的聊天功能。 三、设计实现过程 (一) /************************************************************ *chat.h * 基于socket的聊天客户机和服务器的头文件 * Copyright by Subo, All Right Reserved *设计思路: * 客户机提出各种请求,服务器根据不同请求,发送不同的响应. *关键问题: * 客户机和服务器之间协议制订 *************************************************************/ #include netinet/in.h // for sockaddr_in #include sys/types.h // for socket #include sys/socket.h // for socket #include stdio.h // for printf #include stdlib.h // for exit #include string.h // for bzero /************************************************************ *服务器端口定义 *************************************************************/ #define CHAT_SERVER_PORT (6666) /************************************************************ *报文类型定义 *************************************************************/ #define NO_COMMAND (100) //客户端发送报文类型 #define REGISTER (1) #define LOGIN (2) #define GET_USER_LIST (3) #define TALK_TO (4) #define EXIT (5) #define CHANGE (6) #define GET_MESSAGE (7) //服务器端发送报文类型 #define SUCCEED (0) #define FAIL (-1) #define TRANSFER (80) /************************************************************ *报文格式定义 *************************************************************/ #define COMMAND_SIZE (sizeof(char)) #define OPTION_SIZE (16) #define ID_SIZE (OPTION_SIZE) #define PASSWORD_SIZE (OPTION_SIZE) #define MESSAGE_SIZE (1024) typedef struct chat_package { signed char typ

文档评论(0)

zhuliyan1314 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档