ImageVerifierCode 换一换
格式:DOCX , 页数:10 ,大小:17.54KB ,
资源ID:4706246      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4706246.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(网络编程课程设计Word文件下载.docx)为本站会员(b****2)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

网络编程课程设计Word文件下载.docx

1、连接确认是当服务器端套接字监听到或者说接收到客户端套接字的连接请求时,它就响应客户端套接字的请求,建立一个新的线程,把服务器端套接字的信息发送给客户端,一旦客户端确认了此连接,连接即可建立。而服务器端继续处于监听状态,继续接收其他客户端的连接请求。通过标准框架编写TCP服务器与客户端合成的工程软件步骤:客户端程序包括程序文件client.asm和资源文件client.rc。资源文件确定了客户端的界面形式。服务器端程序包括程序文件server.asm和资源文件server.rc。资源文件确定了服务器端的界面形式。在以下两个头文件ServerSocket.h:ClientSocket.h:中加入服

2、务器窗体的对象指针CTransFileDlg* m_pDlg;在ServerSocket.cpp文件中函数void CServerSocket:OnAccept(int nErrorCode) m_pDlg-AcceptConnection(); 为接到TCP客户端CONNECT 请求后服务器自动执行的相应函数。OnReceive(int nErrorCode) ReceiveData();为接到TCP客户端SEND发送的数据后,服务器自动执行的接收函数。在ClientSocket.cpp文件中函数void CClientSocket:SendFileData();为接到TCP服务器SEND发

3、送的数据后,客户端自动执行的接收函数。在TransFileDlg.h(对话框的类头文件)定义:CServerSocket* m_pServerSock; / 为负责服务器监听和响应客户端连接请求的SOCKET对象指针。CServerSocket* m_ServerSock; / 为负责和客户端进行数据通信(RECEIVE、SEND)SOCKET对象指针。CClientSocket* m_pSendSock; / 为负责客户端向服务器端发起连接请求,连接成功后又通过它和服务器建立通信链路(SEND,RECEIVE)进行发送和接收。在文件TransFileDlg.cpp 中 BOOL CTrans

4、FileDlg:OnInitDialog() 窗体初始化函数加入 m_pServerSock = new CServerSocket(this); /创建指针 m_ServerSock = new CServerSocket(this); m_pSendSock = new CClientSocket(this); m_pServerSock-Create(SERVERPORT); /服务器SOCKET绑定 m_pSendSock-Create(CLIENTPORT); /客户端SOCKET绑定 if (!m_pServerSock-Listen() / 服务器开始监听 MessageBox(

5、监听失败);在本事件(发送按钮)激发函数中建立客户端向服务器的连接,并发送数据。void CTransFileDlg:OnButtontrans() if (m_Send=FALSE) Close(); m_pSendSock- if (!m_pSendSock-Connect(host,SERVERPORT) int aa = m_pSendSock-GetLastError(); m_SendFile.Close(); m_pSendSock- MessageBox(连接失败 m_Send = FALSE; return; SetTimer(1,2000,NULL); /发送文件信息 m_

6、SendNum = 0;Send(fileinfo,MAX_PATH+4); m_SendLen = 0; LocalFree(fileinfo); else当前发送任务没有完成本函数实现服务器相应客户端的连接,并创建和客户端通信的通路:AcceptConnection() m_ServerSock-Accept(*m_ServerSock);服务器接收到数据后的对应处理函数:ReceiveData()客户端接收到数据后的对应处理函数:SendFileData()下面是我对部分源程序的分析:客服端程序:ClientDlg.cpp:#include stdafx.hClient.hClientD

7、lg.h#ifdef _DEBUG#define new DEBUG_NEW#undef THIS_FILEstatic char THIS_FILE = _FILE_;#endifpMysocket = new CMysocket(this); /创建套接字对象if (!pMysocket-Create() /创建套接字 delete pMysocket; MessageBox(套接字创建失败. return false; return TRUE;void CClientDlg:OnSysCommand(UINT nID, LPARAM lParam) if (nID & 0xFFF0) =

8、 IDM_ABOUTBOX) CAboutDlg dlgAbout; dlgAbout.DoModal(); CDialog:OnSysCommand(nID, lParam); char buffer200; /接收传来的数据 int factdata = pMysocket-Receive(buffer,200); bufferfactdata = 0; CString str; str.Format(%s,buffer); SetDlgItemText(IDC_EDIT4,str);OnButtonjoin() /点击连接 / TODO: Add your control notific

9、ation handler code here UpdateData(true); CString servername = m_servername; /读取服务器名称 int port; port = 70; /获取端口 if(!Connect(servername,port) /连接服务器,如果没有连接到服务器名称、端口号,连接服务器失败连接服务器失败! return;%s-,m_name,进入聊天室/打出字 昵称 进入聊天室 pMysocket-Send(str.GetBuffer(0),str.GetLength(); GetDlgItem(IDC_BUTTONJOIN)-Enabl

10、eWindow(FALSE);OnButton2() /点击发送CString str,temp,str1;m_info.GetWindowText(str);if(str.IsEmpty()|m_name.IsEmpty()return;temp.Format(%s说: %s,m_name,str);Send(str.GetBuffer(str.GetLength(),str.GetLength();Mysocket.cpp:void CMysocket: if (pClientdlg) pClientdlg-/调用主对话框的ReceiveData方法接收数据CSocket:OnReceiv

11、e(nErrorCode);服务端程序:ServerDlg.cpp :Server.hServerDlg.hvoid CServerDlg:AcceptConnect()/服务器接受客户端的连接 CClientSocket* socket = new CClientSocket(this);/创建与客户端通信的端口 if (m_pSocket-Accept(*socket)/如果SOCKET对象指针接受这个端口,则响应客户端连接请求 delete socket;OnButton1() /点击监听 m_pSocket = new CServerSocket(this);/负责服务器监听的sock

12、et对象指针=创建套接字m_pSocket-Create(70)/创建的端口!=70套接字创建失败 delete m_pSocket; m_pSocket = NULL;Listen()/如果没有连接到listen函数,则监听失败ReceiveData(CClientSocket* socket) CString str_ii; char bufferdata200;/创建缓存 /接收客户端传来的数据 int result = socket-Receive(bufferdata,200); bufferdataresult = 0;,bufferdata); SetDlgItemText(IDC_EDIT1,str);/在编辑框显示接收的数据ServerSocket.cpp :OnAccept(int nErrorCode) /接到TCP客户端CONNECT 请求后服务器自动执行接受连接函数 CSocket:OnAccept(nErrorCode); if (m_pDlg)/服务器窗体的对象指针 m_pDlg-AcceptConnect();利用两台电脑分别作为客户端和服务端分别运行程序,编译无错误后。在Dos环境下,客户端输入telent服务端IP,请求连接,服务端响应后。客户端就可以访问服务端。

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2