c局域网聊天系统毕业论文

1.毕业论文《基于socket 的局域网聊天工具》,要求C++语音编写,要

“对图中的那些函数,我这里稍加解释一下。”

int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData); 功能是初始化Windows Socket Dll,在Windows下必须使用它。参数:“wVersionRequested”表示版本,可以是1.1、2.2等;“lpWSAData”指向WSADATA数据结构的指针。

int socket(int family, int type, int protocol); 功能是建立Socket,返回以后会用到的Socket值。如果错误,返回-1。

参数:“int family”参数指定所要使用的通信协议,取以下几个值:AF_UNIX(Unix内部协议)、AF_INET(Internet协议)、AF_NS Xerox(NS协议)、AF_IMPLINK(IMP连接层),在Windows下只能把“AF”设为“AF_INET”;“int type”参数指定套接字的类型,取以下几个值:SOCK_STREAM(流套接字)、SOCK_DGRAM (数据报套接字)、SOCK_RAW(未加工套接字)、SOCK_SEQPACKET(顺序包套接字);“int protocol”参数通常设置为0。int bind(int sockfd, struct sockaddr *my_addr, int addrlen); 功能是把套接字和机器上一定的端口关联起来。

参数:“sockfd”是调用socket()返回的套接字值;“my_addr”是指向数据结构struct sockaddr的指针,它保存你的地址,即端口和IP地址信息;“addrlen”设置为sizeof(struct sockaddr)。 int listen(int sockfd, int backlog); 功能是服务端监听一个端口,直到accept()。

在发生错误时返回-1。参数:“sockfd”是调用socket()返回的套接字值;“backlog”是允许的连接数目。

大多数系统的允许数目是20,也可以设置为5到10。 int connect(int sockfd, struct sockaddr *serv_addr, int addrlen); 功能是客户端连接服务端监听的端口。

参数:“sockfd”是调用socket()返回的套接字值;“serv_addr”保存着目的地端口和IP 地址的数据结构struct sockaddr;“addrlen”设置为sizeof(struct sockaddr)。 int accept(int sockfd, void *addr, int *addrlen); 功能是服务端接受客户端的连接请求,并返回一个新的套接字,以后服务端的数据传输就使用这个新的套接字。

如果有错误,返回-1。参数:“sockfd”是和listen()中一样的套接字值;“addr”是个指向局部的数据结构sockaddr_in的指针;“addrlen”设置为sizeof(struct sockaddr_in)。

int send(int sockfd, const void *msg, int len, int flags);int recv(int sockfd, void *buf, int len, unsigned int flags);功能是用于流式套接字或数据报套接字的通讯,我们数据的真正传输就由它们完成。参数:“sockfd”是发/收数据的套接字值;“msg”指向你想发送的数据的指针;“buf”是指向接收数据存放的地址;“len”是数据的长度;“flags”设置为 0。

int sendto(int sockfd, const void *msg, int len, unsigned int flags,const struct sockaddr *to, int tolen);int recvfrom(int sockfd, void *buf, int len, unsigned int flags, struct sockaddr *from, int *fromlen);功能和send、recv类似,不过是用于无连接数据报套接字的传输。 int closesocket(int sockfd) 功能是关闭套接字。

参数“sockfd”为要关闭的套接字值。程序:“这里的目的是让大家对Socket编程有个整体了解。

不用怕,程序我会详细解释的,首先是服务端的程序。其流程是: socket()→bind()→listen→accept()→recv()/send()→closesocket() 具体代码如下:”★#include #include #pragma comment(lib,"Ws2_32")#define MYPORT 830 /*定义用户连接端口*/ #define BACKLOG 10 /*多少等待连接控制*/ int main() { int sockfd, new_fd; /*定义套接字*/ struct sockaddr_in my_addr; /*本地地址信息 */ struct sockaddr_in their_addr; /*连接者地址信息*/ int sin_size; WSADATA ws; WSAStartup(MAKEWORD(2,2),&ws); //初始化Windows Socket Dll //建立socket if ((sockfd = socket(AF_INET, SOCK_STREAM, 0)) == -1) { //如果建立socket失败,退出程序 printf("socket error\n"); exit(1); } //bind本机的MYPORT端口 my_addr.sin_family = AF_INET; /* 协议类型是INET */ my_addr.sin_port = htons(MYPORT); /* 绑定MYPORT端口*/ my_addr.sin_addr.s_addr = INADDR_ANY; /* 本机IP*/ if (bind(sockfd, (struct sockaddr *)&my_addr, sizeof(struct sockaddr))== -1) { //bind失败,退出程序 printf("bind error\n"); closesocket(sockfd); exit(1); } //listen,监听端口 if (listen(sockfd, BACKLOG) == -1) { //listen失败,退出程序 printf("listen error\n"); closesocket(sockfd); exit(1); } printf("listen。

"); //等待客户端连接 sin_size = sizeof(struct sockaddr_in); if ((new_fd = accept(sockfd, (struct sockaddr *)&their_addr, &sin_size)) == -1) { printf("accept error\n"); closesocket(sockfd); exit(1); } printf("\naccept!\n"); //有连接,发送ww0830字符串过去 if (send(new_fd, "ww0830\n", 14, 0) == -1) { printf("send error"); closesocket(sockfd); closesocket(new_fd); exit(1); } printf("send ok!\n"); //成功,关闭套接字 closesocket(sockfd); closesocket(new_fd); return 0;}对服务端程序的流程概括:先是初始化Windows Socket Dll: WSAStartup(MAKEWORD(2,2),&ws); 然后建立Socket: sockfd 。

2.《基于Socket的C/S模式的局域网聊天室》的毕业设计

代码贴出来,也没工夫写额,以前在学校我做过,我把我的思路给你好了,首先写出服务端和客户端,多线程实现收发,支持点对点聊天,如果这些LZ不会,那就先去看看基础吧,在此基础上,创建登录用户类,有用户ID(String),昵称和socket属性,一个房间管理类,用来管理私聊,群聊或者2个以上人的聊天,有一个MAP属性,以聊天者ID相加的值为建,以保存所有聊天者socket的List为值,其中群聊是MAP的默认属性,登陆一个用户,value就添加他socket,当用户选择一个人私聊,或者几个人群聊时,MAP创建相应的映射,就这样了,当时我是全部实现了,但在关闭socket时有些问题。

具体逻辑和其中BUG,自己调和写吧,例如用ID相加为建有时会有问题。

3.《基于Socket的C/S模式的局域网聊天室》的毕业设计

代码贴出来,也没工夫写额,以前在学校我做过,我把我的思路给你好了,首先写出服务端和客户端,多线程实现收发,支持点对点聊天,如果这些LZ不会,那就先去看看基础吧,在此基础上,创建登录用户类,有用户ID(String),昵称和socket属性,一个房间管理类,用来管理私聊,群聊或者2个以上人的聊天,有一个MAP属性,以聊天者ID相加的值为建,以保存所有聊天者socket的List为值,其中群聊是MAP的默认属性,登陆一个用户,value就添加他socket,当用户选择一个人私聊,或者几个人群聊时,MAP创建相应的映射,就这样了,当时我是全部实现了,但在关闭socket时有些问题。

具体逻辑和其中BUG,自己调和写吧,例如用ID相加为建有时会有问题。

4.基于VC局域网即时聊天程序的设计与实现

1) CserverSocket 是服务器端Socket类,关于这部分的核心代码为: BOOL CserverSocket::Init(UNI port, CChatDlg* dlg)//服务器端初始化 { m_uPort=port; m_dlg=dlg; if(Create(m_uPort)==FALSE) { AfxMessageBox(“Server Socket Create Error”); Return FALSE; } if(this->Listen==FALSE) { AfxMessageBox(“Server Listen Error”); Return FALSE; } m_dlg->SetDlgItemText(IDC_SHOWTEXT,”Server Has Been Set OK!”); return TRUE; } void CserverSocket::OnAccept(int nErrorCode) { m_dlg->ProcessPendingAccept(); Csocket::OnAccept(nErrorCode); } 2) ClientSocket是客户端Socket类,关于这部分核心代码为: //通信Socket的初始化,一些关于传输数据串行化的操作 Void CClientSocket::Init(CChatDlg* dlg) { m_sfSocketFile=new CsocketFile(this); m_aSessionIn=new Carchive(m_sfSocketFile,Carchive::load); m_aSessionOut= new Carchive(m_sfSocketFile,Carchive::store); m_bClose=false; this->m_dlg=dlg; } //Socket接收到传输过来的数据的消息相应函数 void CClientSocket::OnReceive(int nErrorCode) { Csocket::OnReceive(nErrorCode); Do { Cmessg temp; Temp.Serialize(*m_aSessionIn); M_dlg->m_sMsgList+=temp.m_strText; M_dlg->SetDlgItemText(IDC_SHOWTEXT,m_dlg->m_sMsgList); //如果有声音过来并且本机的声音设备已经准备好,则在本机发出声音 以上参考于三七毕业设计论文网 ,希望能帮到你。

c局域网聊天系统毕业论文

转载请注明出处众文网 » c局域网聊天系统毕业论文

资讯

7.案例设计型毕业论文的含义().

阅读(65)

本文主要为您介绍7.案例设计型毕业论文的含义().,内容包括求问毕业设计论文有何意义?,什么是案例分析如何写案例分析型论文,毕业设计的意义是什么。对毕业设计(论文)工作进行全过程的检查,是学院教学质量保障的重要内容,是全面了解毕业设计(论文

资讯

优秀毕业论文好获得么

阅读(63)

本文主要为您介绍优秀毕业论文好获得么,内容包括毕业论文得优难吗?,被评为硕士优秀毕业论文有奖励吗,获得了优秀毕业论文,有什么好处吗?有荣誉证书吗?。硕士优秀毕业论文的荣誉证书更有价值1.做毕业论文首先是能锻炼你自己,把自己在大学期间

资讯

毕业设计论文丁畅

阅读(60)

本文主要为您介绍毕业设计论文丁畅,内容包括设计一个完整的吉祥物主要 分为哪几步?,园林和园林设计哈有区别啊有什么不同,怎样理解UI界面交互设计是什么意思。其实简单来说就是园林包含了园林设计,设计只是园林的一个方面。 园林是一个很综

资讯

本科毕业设计论文范文

阅读(101)

本文主要为您介绍本科毕业设计论文范文,内容包括大学毕业论文范文,毕业论文的格式最好有范文,毕业论文格式范文,是本科生的哦。接上面。 (二)观点要创新 毕业论文的创新是其价值所在。文章的创新性,一般来说,就是要求不能简单地重复前人的观点,

资讯

plc双电梯控制毕业论文

阅读(69)

本文主要为您介绍plc双电梯控制毕业论文,内容包括电梯PLC控制系统设计毕业论文,求份基于plc的双匀速电梯控制系统的毕业论文,电梯的PLC控制论文一篇。本文设计的八层电梯教学模型,涵盖了电机拖动技术、变频技术、PLC技术、电工电子技术、电

资讯

毕业论文答辩ppt本校图标吗

阅读(66)

本文主要为您介绍毕业论文答辩ppt本校图标吗,内容包括毕设答辩论文ppt模板,用卡通的可以吗?,论文答辩一定要用PPT么?本科生,学校没有具体要求~,本科生毕业答辩的PPT主要由哪几部分组成?。毕业论文PPT模板的选用要分场景而定,如果你的专业是

资讯

2014数控铣床毕业论文附录

阅读(65)

本文主要为您介绍2014数控铣床毕业论文附录,内容包括数控机床需要设定哪几个参数才能使主轴第一档最高转速为2000r?爱,数控毕业论文范文,求数控毕业论文4000到5000字、主要内容包括:写作提纲、目录、摘。浅谈数控机床零件加工前的准备 近年

资讯

多功能压力温度测显仪设计毕业论文

阅读(61)

本文主要为您介绍多功能压力温度测显仪设计毕业论文,内容包括设计制作锅炉智能温度、水位、压力检测控制器,报警、防干烧搜狗,关于51单片机的多功能温度显示器论文中的摘要怎么写,基于单片机多量程温度测控仪的设计。本课题主要介绍了温度

资讯

加强客运组织确保旅客乘降安全毕业论文

阅读(61)

本文主要为您介绍加强客运组织确保旅客乘降安全毕业论文,内容包括。质量第顾客至上:努力提高服务品质,为乘客的利益着想、服务热情、周到、真诚待人;2、 履行岗位职责,认真遵守客运的各项规定,确保乘客安全、

资讯

毕业论文以xy公司为例

阅读(62)

本文主要为您介绍毕业论文以xy公司为例,内容包括毕业论文想写关于创新型团队建设方面的内容,想具体的以某个企业,互联网时代下的企业财务行为(以X企业为例)这样的论文题目应该怎,题目是:企业文化建设探究以xx公司为例,毕业论文从哪个方向着

资讯

硕士毕业论文答辩ppt模板

阅读(55)

本文主要为您介绍硕士毕业论文答辩ppt模板,内容包括毕业论文答辩ppt模板怎么下载?,调查类硕士论文答辩ppt要素,研究生毕业生答辩ppt模板。制作高质量的PPT,不要以为全是技术活,以下七点,会对你有启发: 目标--恰当的PPT,为恰当的人 1.一个PPT只为

资讯

幼儿英语教育毕业论文

阅读(65)

本文主要为您介绍幼儿英语教育毕业论文,内容包括求一篇关于幼儿英语教育的论文,越详细越好,如何提高幼儿英语口语能力论文,如何提高幼儿学习英语的兴趣论文。幼儿英语教育中值得注意的几个问题【摘要】:正 随着改革开放的不断深入,我国的经济

资讯

毕业论文中期检查表怎么写

阅读(51)

本文主要为您介绍毕业论文中期检查表怎么写,内容包括毕业论文中期检查表怎么填写最好给个范文,论文中期检查表怎么写,土木工程毕业论文中期检查表怎么写。各个院校要求不同,可以由指导教师成绩,检查评阅成绩,答辩小组成绩3部分综合而来. 1论文

资讯

毕业论文指导记录10次

阅读(48)

本文主要为您介绍毕业论文指导记录10次,内容包括论文的指导记录应该怎么写,毕业论文指导记录表,指导记录表论文选题指导记录如何填论文选题指导记录如何填写爱。第一次指导主要内容记录2、老师在授课时于我们分析了论文应该注意的事项,讲述

资讯

7.案例设计型毕业论文的含义().

阅读(65)

本文主要为您介绍7.案例设计型毕业论文的含义().,内容包括求问毕业设计论文有何意义?,什么是案例分析如何写案例分析型论文,毕业设计的意义是什么。对毕业设计(论文)工作进行全过程的检查,是学院教学质量保障的重要内容,是全面了解毕业设计(论文

资讯

优秀毕业论文好获得么

阅读(63)

本文主要为您介绍优秀毕业论文好获得么,内容包括毕业论文得优难吗?,被评为硕士优秀毕业论文有奖励吗,获得了优秀毕业论文,有什么好处吗?有荣誉证书吗?。硕士优秀毕业论文的荣誉证书更有价值1.做毕业论文首先是能锻炼你自己,把自己在大学期间

资讯

plc双电梯控制毕业论文

阅读(69)

本文主要为您介绍plc双电梯控制毕业论文,内容包括电梯PLC控制系统设计毕业论文,求份基于plc的双匀速电梯控制系统的毕业论文,电梯的PLC控制论文一篇。本文设计的八层电梯教学模型,涵盖了电机拖动技术、变频技术、PLC技术、电工电子技术、电

资讯

毕业论文答辩ppt本校图标吗

阅读(66)

本文主要为您介绍毕业论文答辩ppt本校图标吗,内容包括毕设答辩论文ppt模板,用卡通的可以吗?,论文答辩一定要用PPT么?本科生,学校没有具体要求~,本科生毕业答辩的PPT主要由哪几部分组成?。毕业论文PPT模板的选用要分场景而定,如果你的专业是

资讯

2014数控铣床毕业论文附录

阅读(65)

本文主要为您介绍2014数控铣床毕业论文附录,内容包括数控机床需要设定哪几个参数才能使主轴第一档最高转速为2000r?爱,数控毕业论文范文,求数控毕业论文4000到5000字、主要内容包括:写作提纲、目录、摘。浅谈数控机床零件加工前的准备 近年

资讯

台州学院本科毕业论文

阅读(68)

本文主要为您介绍台州学院本科毕业论文,内容包括本科毕业论文大概什么时候答辩?答辩要注意什么?,请问有关法律专业论文请问法律本科毕业论文写我国网络隐私权的法律,毕业论文选题(生物专业动物方面。一般都在五月底,每个学校会根据自身情况

资讯

保健品毕业论文文献

阅读(73)

本文主要为您介绍保健品毕业论文文献,内容包括哪些文献是保健食品申报审批时可以引用的文献资料,求一篇关于保健品的论文,求关于保健食品的论文。文献资料包括古代文献或现代文献。古代文献是指1911年前编撰成书的古籍中的相关章节。 现代

资讯

南昌大学毕业论文致谢

阅读(64)

本文主要为您介绍南昌大学毕业论文致谢,内容包括毕业论文中的致谢应该怎么写?,毕业论文摘要·致谢,毕业论文中的致谢应该怎么写?。本篇论文虽然凝聚着自己的汗水,但却不是个人智慧的产品,没有导师的指引和赠予,没有父母和朋友的帮助和支持,我在