TCP/IP协议与网络编程
文章平均质量分 68
haida_liudan
codes make world clear
展开
-
linux下简单的UDP对等通信程序
应用程序采用UDP报文向自身发送消息,程序在初始化的时候绑定一个端口,并且在这个端口上等待数据到来,同时提供一个键盘输入,用户可以用键盘输入信息,然后发送到自己绑定的端口上。代码:#include#include#include#include#include#include#include#include#include#include#inclu原创 2013-04-08 16:39:03 · 1804 阅读 · 0 评论 -
容易被忽视的IP报头中的Checksum校验和
看计算机网络相关的书,每次看到IP或者UDP报头校验和时,都一瞥而过,以为相当简单。可是今天一看真傻眼了,怎么算的,为什么用反码不用补码还真不知道怎么回事。算法的C语言实现:unsigned short csum(unsignedchar *addr, int count){/* Compute Internet Checksum for "count" bytes转载 2013-04-26 17:53:10 · 2503 阅读 · 0 评论 -
unix网络编程——传输层
1 UDP:用户数据报协议与TCP传输协议的比较1)TCP提供客户与服务器的连接,UDP不提供。2)TCP提供可靠性传输,当TCP向另一端发送数据时它要求对端返回一个确认。注意可靠传输并不能保证数据一定会被对方端点接受,因为这是不可能做到的。即TCP提供的是数据的可靠投递或者是故障的可靠通知。3)TCP给发送数据的每一个字节关联一个序列号进行排序,如果发送的序列非顺序到达,接收端的T原创 2013-04-16 09:27:17 · 624 阅读 · 0 评论 -
linux网络套接口编程基础
1.主要的头文件:1):sys/types.h 基本系统数据类型,是Unix/Linux系统的基本系统数据类型的头文件,含有size_t,time_t,pid_t等类型。2):netinet/in.h Internet address family,定义 sockaddr_in结构体,htons,htonl,ntohs, ntohl字节序列转换函数的头文件。3):sys/sock原创 2013-04-24 11:21:09 · 1045 阅读 · 0 评论 -
linux下一个简单的TCP通信程序——客户端向服务端发送任意字符串
程序目的:服务器端等待客户端连接,若连接成功,则用户可以通过服务器在接受到字符串后进行判断,若不是quit字符串则输出客服端的地址信息,以及接受到的数据,同时将接受到的数据按照原样再发给客服端,若是quit字符串则断开本次连接。问题以及解决:1)服务器端不能连续显示客户端发送的数据2)服务器端发送的数据在客户端正常显示一次,以后乱码。#include#include#inc原创 2013-04-08 15:11:07 · 9554 阅读 · 0 评论 -
TCP/IP详解学习笔记-基本概念
为什么会有TCP/IP协议在世界上各地,各种各样的电脑运行着各自不同的操作系统为大家服务,这些电脑在表达同一种信息的时候所使用的方法是千差万别。就好像圣经中上帝打乱了各地人的口音,让他们无法合作一样。计算机使用者意识到,计算机只是单兵作战并不会发挥太大的作用。只有把它们联合起来,电脑才会发挥出它最大的潜力。于是人们就想方设法的用电线把电脑连接到了一起。但是简单的连到一起是远远不够的,就转载 2013-04-15 15:00:00 · 510 阅读 · 0 评论 -
大端法、小端法、网络字节序 转
关于字节序(大端法、小端法)的定义《UNXI网络编程》定义:术语“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。 也可以说: 1.小端法(Little-Endian)就是低位字节排放在内存的低地址端即该值的起始地址,高位字节排放在内存的高地址端。 2.大端法(Big-Endian)就是转载 2013-04-15 09:07:56 · 795 阅读 · 0 评论 -
TCP/IP协议详解——IP协议,ARP协议,ICMP协议
IP协议是TCP/IP协议的核心,所有的TCP,UDP,IMCP,IGCP的数据都以IP数据格式传输。要注意的是,IP不是可靠的协议,这是说,IP协议没有提供一种数据未传达以后的处理机制--这被认为是上层协议--TCP或UDP要做的事情。所以这也就出现了TCP是一个可靠的协议,而UDP就没有那么可靠的区别。1.IP数据格式Ip Header如下:解释两点:首先IP协议头原创 2013-04-15 14:56:43 · 1345 阅读 · 0 评论 -
简单的获取服务器时间程序(UNIX网络编程)
客户端程序:TimeGetC.c#include#include#include#include//for sockaddr_in#include#include#include#include#includeint main(int argc, char** argv){struct sockaddr_in serverAddr;int c原创 2013-04-10 19:28:53 · 607 阅读 · 0 评论 -
ping程序(c语言实现)
#include#include#include#include#include#include#include#include#include#include#include#include#include#define PACKET_SIZE 4096#define MAX_WAIT_TIME 5#define MAX_NO_PA原创 2013-04-27 18:36:45 · 733 阅读 · 0 评论