windows网络编程
1.协议的特征
面向消息的和基于流的
面向连接的和面向无连接的
2.端口分为三类:“已知”端口、已注册端口、动态和私用端口
0~1023 IANA控制,为固定服务保留的
1024~49151 已注册端口,供普通用户的进程或程序使用
49152~65535 动态和私有端口
3.IP地址
通过inet_addr函数可以将一个点式IP地址转换成一个32位的无符号长整数。
特殊地址INADDR_ANY允许服务器应用监听主机上每个网络接口。
特殊地址INADDR_BROACAST用于在一个IP网络中发送广播UDP数据报。
5.大端模式和小端模式
网络字节一般是大端模式(低字节存储在高地址上)
二、Winsocket
1.打开winsocket
调用WSAStartup
2.释放winsocket
调用WSACleanup
3.字节转换
主机字节->网络字节
htol()、htos()
网络字节->主机字节
ntohl()、ntohs()
4.IP地址
inet_addr: 将一个点式IP地址转换成一个32位的无符号长整数
inet_ntoa: 将一个sockaddr_in地址转换成字符串
5.获取主机信息
gethostbyname()
gethostbyaddr()
6.创建套接字
socket()
7.ioctlsocket()控制套接口的模式
//例:设置一个非锁定模式套接字
SOCKET s;
unsigned long ul = 1;
int nRet;
s = socket(AF_INET,SOCK_STREAM,0);
nRet = ioctlsocket(s,FIONBIO,(unsigned long *)&ul);
windows网络编程的更多相关文章
- [转]Windows网络编程学习-面向连接的编程方式
直接附上原文链接:windows 网络编程学习-面向连接的编程方式
- Windows网络编程 2 【转】
Windows网络编程使用winsock.Winsock是一个基于Socket模型的API,在Windows系统中广泛使用.使用Winsock进行网络编程需要包含头文件Winsock2.h,需要使用库 ...
- Windows 网络编程
网络编程 API ,失败返回 -,错误代码 WSASYSNOTREADY 表示基础网络子系统没有准备好网络通行,WSAVERNOTSUPPORTED 表示 Socket 版本不支持,WSAEINPRO ...
- windows网络编程的一些理论
参考自<VC++深入详解> 这是我在看书时记录下来的东西. 注:下面的Socket其实都应该是socket 第14章网络编程 Socket是连接应用程序与网络驱动程序的桥梁,Socket在 ...
- Windows网络编程(C/C++服务器编程)
Windows服务器网络编程 Linux服务器网络编程
- windows 网络编程[转]
利用winsock编写网络应用程序服务端的步骤简述如下WSAStartup 初始化网络编程库 socket 创建套接字 bind 指定地址.端口,绑定套接字 listen 进入监听状态 accept ...
- Windows网络编程笔记4 -- Winsock 协议相关知识
Win32平台上的Winsock编程,Winsock是一个与协议无关的接口.以下协议是我们需要了解的: 网络协议的特征包括: 1. 面向消息 2. 面向连接和无线接 3. 可靠性和次序性 4. ...
- Windows网络编程笔记1
第一部分 传统网络API 传统的网络接口NetBIOS.重定向器.邮槽.命名管道等.第一,NetBIOS(Network Basic Input/Output System, NetBIOS)“网络基 ...
- windows网络编程-2015.12.29
在windows环境下,使用netstat命令查看网络状态,具体命令如下所示: netstat -ano | findstr listenport 在windows环境下,创建udp程序接收端,具体代 ...
- Windows网络编程笔记6 --- WinSock I/O 控制方法
Windows提供了两种方式“套接字模式”和“套接字I/O模型”,可对一个套接字上的I/O行为加以控制.套接字模式用于决定在随一个套接字调用时,那些 Winsock函数的行为.其中的模型包括括sele ...
随机推荐
- knockoutJS学习笔记03:knockout简介
通常来说,前端的维护难度是比较大的,特别是脚本,虽然像jquery这样的库可以帮助我们减少很多代码,但在稍微复杂的情况下,还是会产生有很多代码.上一篇介绍了模板引擎jsRender,它可以帮我们快速生 ...
- Win10 UWP 开发学习代码(不断更新)
页面之间跳转(传值) string txt = "Spring Lee"; this.Frame.Navigate(typeof(BlankPage1),txt); 另一个页面接收 ...
- windows下MySQL 忘记初始密码
一.windows下修改MySQL用户密码的方法: 1.关闭正在运行的MySQL服务:net stop mysql 或 在windows 任务管理器中结束 mysqld.exe 进程 或 在 管 ...
- Configure Security Settings for Remote Desktop(RDP) Services Connections
catalogue . Configure Server Authentication and Encryption Levels . Configure Network Level Authenti ...
- js 数据类型 typeof的测试
, t2 = ', t3 = null, t4 = NaN, t5 = undefined, t6 = function() {}, t7 = true, t8 = window, t9 = docu ...
- strlen()和sizeof()求数组长度
在字符常量和字符串常量的博文里有提: 求字符串数组的长度 标准库函数strlen(s)可以返回字符串s的长度,在头文件<string.h>里. strlen(s)的判断长度的依据是(s[i ...
- 网页中嵌入可以点击“运行代码”执行html/css/js代码
html代码 <textarea name="textarea" cols="60" rows="10" id="rn01& ...
- 搭建FTP服务器
yum install vsftpd -yyum install pam* db4* --skip-broken –y 创建并生成vsftpd 数据库文件vi /etc/vsftpd/ftpusers ...
- todoList使用教程
网页链接:http://www.cnblogs.com/sunada2005/articles/2663030.html
- 今天又学了一招,牛逼!!!解决"-bash:No such file or directory"问题
今天在64服务器上:发现好像bash 坏了,用户名前边 用-bash 显示,,前几天就发现这个问题,,,但是当时忙没有解决,,,,,今天来看看到底是怎么回事! File Exists but... ...