目录(本章节中例子都是用 VS2005 编译调试的) 相关文献: 套接字概述简介(源于维基) Berkeley套接字(也作BSD套接字应用程序接口)刚开始是4.2BSD Unix操作系统(于1983发布)的一套应用程序接口。然而,由于AT&T的专利保护着UNIX,所以只有在1989年Berkeley大学才能自由地发布自己的操作系统和网络库。 应用程序网络数据传输
套接字
网络字节顺序(套接字与地址簇中使用) 由于不同的计算机存放数据字节的顺序不同,所以通信双方必须协商出统一的存放字节顺序,这样才能发送方的数据可以被接收方准确无误的读取,否则接收方读到的是一堆不知名的数据,所以通信前双方必须协商统一的用网络字节顺序,保证通信的正常进行 基于消息的异步套接字
C/S模式 相关函数[win32 API 相关套接字函数][相关结构体及宏][基于消息的套接字编程][MFC套接字相关函数] Win32 API 相关套接字常用函数显示相关函数
相关结构体及宏显示相关函数
基于消息套接字编程相关相关函数显示相关函数
MFC常用函数显示相关函数
TCP套接字相关函数显示相关函数
UDP套接字相关函数显示相关函数
编写套接字通信[编写基于 UDP 套接字通信][编写基于 TCP 套接字通信][编写基于消息机制的 UDP 套接字通信][通过域名获得 IP 地址] 编写基于 UDP 套接字通信流程图: 代码示例: 查看本机 IP 服务器端 View Code
客户端 View Code
运行结果(先运行服务器,再运行客户端.然后结果为下图所示上面为服务器下面为客户端) 编写基于 TCP 套接字通信流程图:
代码示例: 查看本机 IP 服务器端 View Code
客户端 View Code
运行结果(先运行服务器,再运行客户端.然后结果为下图所示上面为服务器下面为客户端) 编写基于消息机制的 UDP 套接字通信流程图: 程序代码(源于孙鑫第十六讲代码): 先添加一个对话框工程工程工程名为 Chat ,因为服务器和客户端这里写在一起所以就一个工程就好. 资源界面设计 相关代码 在 stdafx.h 头文件中加载动态连接库的引入库和相关头文件 #include <winsock2.h>
#pragma comment(lib,"ws2_32.lib")
在程序初始化的时候, 加载套接字库和进行套接字库协商,这个工作放在 Chat.cpp ,主线程的初始化工作函数 InitInstance 中. View Code
接着来定义一个网络事件,和网络事件响应函数 View Code
定义好网络世界和网络世界响应函数后我们来进行套接字的创建和和端口绑定,以及网络事件注册,这个功能我们封装在 InitSocket 并且在对话框初始化时候我们就打算调用它. View Code
在定义发送按钮消息事件让其能发送对应消息 View Code
运行结果
通过域名获得 IP 地址相关函数:
代码示例: View Code
运行结果: 在控制台中 ping www.baidu.com 的运行结果: 分类: VC |
|
来自: bylele > 《网络编程(socket)》