久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3619|回復: 1
打印 上一主題 下一主題
收起左側

VC++ TCP/IP客戶端程序設計,運行結果圖

[復制鏈接]
跳轉到指定樓層
樓主
VC設計用vstudio編寫的一個可以實現客戶端與服務器的雙向傳輸系統
分享給在學習c++的人借鑒參考下
歡迎提供意見

一、實驗目的
通過實驗,使學生熟悉并掌握運用TCP/IP技術進行網絡編程的基本知識,加深對課堂教學內容的理解,掌握套接字網絡通信編程技術,能夠運用VC++進行一些簡單的網絡應用程序設計。
二、實驗內容
創建套接字向服務器發起TCP連接。(或是客戶端創建數據報套接字)
2、服務器創建監聽套接字,監聽客戶端TCP連接請求。當收到一個TCP連接請求,創建連接套接字同意與其創建連接。
3、連接創建成功后,通過套接字向服務器持續發送或是接收數據。
三、關鍵代碼
1、為了在Dlg中調用CSocket類的成員函數,必須在*Dlg.h頭文件中添加CSocket類的頭文件,并且在Dlg的構造函數中定義一個隸屬于CSocket類的對象:
#include "ClientSocket.h"
// ClientTestDlg.h : 頭文件
//
#include "Client_Socket.h"  //新添加類的頭文件
#pragma once
// CClientTestDlg 對話框
class CClientTestDlg : public CDialogEx
{
// 構造
public:
              CClientTestDlg(CWnd* pParent = NULL);              // 標準構造函數
              CClientSocket m_ClientSocket;  //為服務器通信而建立的“CClient_Socket”類的對象
// 對話框數據
              enum { IDD = IDD_CLIENTTEST_DIALOG };
protected:
              virtual void DoDataExchange(CDataExchange* pDX);              // DDX/DDV 支持
// 實現
protected:
              HICON m_hIcon;
// 生成的消息映射函數
              virtual BOOL OnInitDialog();
              afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
              afx_msg void OnPaint();
              afx_msg HCURSOR OnQueryDragIcon();
              DECLARE_MESSAGE_MAP()
public:
              CString m_IPAddress;
              int m_port;
              CString m_SendData;
              CListBox m_ReceiveData;
              afx_msg void OnBnClickedConnent();
              afx_msg void OnBnClickedDisconnect();
              afx_msg void OnBnClickedSend();
};
2、功能模塊(與服務器鏈接,并向服務器發送數據)
void CClientTestDlg::OnBnClickedConnent()
{
              // TODO: 在此添加控件通知處理程序代碼
              m_ClientSocket.Create();  //創建客戶端的套接字
              UpdateData(true);   //獲取IP地址與Port號的更新
              if(!m_ClientSocket.Connect(m_IPAddress,m_port))  //Connect()函數鏈接服務器成功的話則返回1,失敗則返回0
              {
                            MessageBox("Server Connect failure");
                            m_ClientSocket.Close();
                            return;
              }
              else
                            MessageBox("Server Connect Success");
//后臺可以直接寫m_ClientSocket.Connect(“192.168.1.100”,700)
}
void CClientTestDlg::OnBnClickedDisconnect() //主動斷開與服務器的鏈接
{
              // TODO: 在此添加控件通知處理程序代碼
              m_ClientSocket.Close();
              m_ReceiveData.AddString("斷開與服務器的鏈接");

}
void CClientTestDlg::OnBnClickedSend()  //向服務器發送數據
{
              // TODO: 在此添加控件通知處理程序代碼
              UpdateData(true);
              m_ClientSocket.Send(m_SendData,m_SendData.GetLength());}
2、通過改寫Socketl類的虛函數OnReceive()來監聽Socket緩沖區是否有數據到達。
// ClientSocket.cpp : 實現文件
#include "stdafx.h"
#include "ClientTest.h"
#include "ClientSocket.h"
#include "ClientTestDlg.h"
void


CClientSocket::OnReceive(int nErrorCode)
{   // TODO: 在此添加專用代碼和/或調用基類
              char strData[200]; //定義一次接受最多200個字符
int n=Receive(strData,200);  //Receive()是CSocket類的成員函數,不是虛函數,具體負責接收數據
              strData[n]='\0';
              CString strDemo;
              strDemo.Format("收到服務器數據: %s,strData");
              ((CClientTestDlg*)(AfxGetApp()->m_pMainWnd))->m_ReceiveData.AddString(strDemo);
CSocket::OnReceive(nErrorCode);
}


四、編程界面及運行結果截圖
五、心得體會
此程序的功能達到了之前預想的可能,通過服務器端的消息發送,實現了客戶端與服務器之間的連接,實現了一個簡單的網絡聊天軟件的功能。通過此次的實驗,也同時讓我對于CSocket網絡聊天類的使用有了更深入的了解,在關于網絡編程的方面也有了新的認識。雖然此程序的功能還比較的簡單,而且某些方面還沒能完善,但是,我相信我只是一個開始。
    在這次實驗中,我對vc++語言有了一個更深的認識了解,也對這學期的知識得到了鞏固,還嘗試了運行編程,每次運行程序成功,讓我對下面的項目充滿了信心通過自己的努力最終把最初的理論知識轉化成基本技能,這次的實驗,使我對c++語言的學習產生了的興趣。



全部資料51hei下載地址:
VC程序設計實驗報告.docx (934.64 KB, 下載次數: 19)
kehuduan.rar (1.32 MB, 下載次數: 26)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:511456 發表于 2020-2-11 18:27 | 只看該作者
沒有源碼,無法學習
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线视频国产一区 | 国产精品视频网 | 日韩播放| 国外成人免费视频 | 成人欧美一区二区三区黑人孕妇 | 精品国产一区探花在线观看 | 欧美一级视频在线观看 | 91av视频在线播放 | 久久久久久久一区 | 精品国产精品一区二区夜夜嗨 | 日韩国产欧美一区 | 九九在线精品视频 | 九九亚洲| 天天干天天玩天天操 | 亚洲美女av网站 | 爱操av | 欧美精品在线播放 | 奇米四色在线观看 | 亚洲国产精品人人爽夜夜爽 | 国产精品久久久久久久久婷婷 | 国产精品日韩高清伦字幕搜索 | 免费一区二区三区 | a毛片| 最新91在线 | 久久综合久久综合久久 | 国产精品成人在线观看 | 日韩精品一区二区三区中文在线 | 久久久久无码国产精品一区 | 久久国产精品免费一区二区三区 | 91精品国产日韩91久久久久久 | 久久成人精品一区二区三区 | 久久大全| v片网站| 在线国产视频观看 | 黄色成人国产 | 亚洲综合成人网 | 天天天操操操 | 中文字幕一区二区不卡 | 中文字幕日韩一区二区 | 久热精品视频 | 二区三区在线观看 |