⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 nettocommdlg.h

📁 本压缩包是一个网口转串口的原码,非常有用哦
💻 H
字号:
// NetToCommDlg.h : header file
//

#if !defined(AFX_NETTOCOMMDLG_H__04091099_7468_416D_BD58_F41C7F6A39C6__INCLUDED_)
#define AFX_NETTOCOMMDLG_H__04091099_7468_416D_BD58_F41C7F6A39C6__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#pragma once

#include <winsock2.h>

#define LEN 256      // 接受缓冲
#define TAG_LEN 6    // 标签数据的个数

#define WM_CLIENT_READ   10001    // 供读取客户端信息用
#define WM_CLIENT_ACCEPT 10002    // 供响应客户端用

typedef unsigned char  BYTE8;



class CNetToCommDlg : public CDialog
{
public:
	CNetToCommDlg(CWnd* pParent = NULL);	// standard constructor
	~CNetToCommDlg();

	static UINT ReadThread(LPVOID lParam);

	int BYTEToChar(BYTE8 ucVar, char* pcVar);
	
	int GetWriteLen(BYTE8* pucInput, int iLen);
	int GetReadLen(BYTE8* pucInput, int iLen);

	// 检查是否有特殊字符,如果有就将其替换
	int CheckWriteData(BYTE8* pucInput, BYTE8* pucOutput, int iLen);
	int CheckReadData(BYTE8* pucInput, BYTE8* pucOutput, int iLen);

	int WriteData(BYTE8* pucWriteData, int iLen);
	int ReadData(BYTE8* pucReadData, int iReadLen);

    // 自定义消息函数
	afx_msg LRESULT ClientRead(WPARAM wParam,LPARAM lParam);           // 读取客户端发送的数据
	afx_msg LRESULT ClientAccept(WPARAM wParam,LPARAM lParam);         // 响应客户端的连接

	void StartListen();

	BYTE8 m_aucTag[LEN];
	int m_iTag;

	//{{AFX_DATA(CNetToCommDlg)
	enum { IDD = IDD_NETTOCOMM_DIALOG };
	//}}AFX_DATA

protected:
	//{{AFX_VIRTUAL(CNetToCommDlg)
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV support
	//}}AFX_VIRTUAL

	//{{AFX_MSG(CNetToCommDlg)
	virtual BOOL OnInitDialog();
	virtual void OnCancel();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	afx_msg void OnExit();
	afx_msg void OnRead();
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()

	HICON m_hIcon;

private:	
    CListBox	m_listSend;
	CListBox	m_listRecv;

	HINSTANCE m_hCommDll;
	HINSTANCE m_hCRCDll;

	SOCKET m_sServer;
	SOCKET m_sClient;

	BOOL   m_bThreadFlag;
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_NETTOCOMMDLG_H__04091099_7468_416D_BD58_F41C7F6A39C6__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -