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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3676|回復: 1
收起左側

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

[復制鏈接]
ID:516412 發表于 2019-4-19 15:39 | 顯示全部樓層 |閱讀模式
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);
}
N1[I)SJHE42E]G2DY}Z9VGW.png

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

0.png

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

評分

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

查看全部評分

回復

使用道具 舉報

ID:511456 發表于 2020-2-11 18:27 | 顯示全部樓層
沒有源碼,無法學習
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一区二区三区四区免费观看 | 日本在线你懂的 | 精品欧美一区二区三区精品久久 | 免费电影av | 亚洲综合在线播放 | 欧美日韩精品久久久免费观看 | 一级黄色片在线免费观看 | 亚洲三级在线观看 | 青青草一区 | 天天干天天操天天看 | 亚洲精品在线看 | 欧美一区二区三区在线 | 国产视频第一页 | 亚洲成人在线免费 | 一区二区av | 国产精品一区二区三区久久 | 欧美在线观看一区 | 久久人人国产 | 在线观看免费黄色片 | h网站在线观看 | 黄色欧美 | 亚洲每日更新 | 国产一区二区三区在线 | 成人激情视频在线 | 欧美国产日本一区 | 午夜影视免费片在线观看 | 91精品久久久久久久久 | 国产免费一二三区 | 国产精品完整版 | 国产精品美女久久久久aⅴ国产馆 | 99精品免费久久久久久日本 | 麻豆久久久久 | 欧美一级免费看 | 欧美一区二区 | 日韩视频在线免费观看 | 亚洲视频www | 亚洲精品国产一区 | 国产激情在线观看视频 | 亚洲成人精品国产 | 日韩欧美在线视频一区 | 亚洲第一av |