东北大学计算机网络实验报告最新,东北大学计算机网络实验报告.doc

.

PAGE

.

.

.

计算机网络实验报告

实验名称

Tcp与Udp的通信实现

班 级

软信1101

学 号姓 名

杜海涛

日 期

2013-7-13

成 绩

评 阅 人

软件学院

实验目的与意义

1、编写Tcp服务器与客户端程序,服务器程序在客户端连接后输出客户端信息(IP,端口号)

2、编写Tcp服务器与客户端程序,客户端在连接后可从键盘输入字符,在服务器端实时显

3、在2的基础上,服务器判断接收到的字符,如是某指定字符,则服务器退出监听

4、编写基于Udp的控制台聊天程序

通过tcp和udp的编程实现windows环境下的进程间的通信。

实验环境

操作系统:Windows 7

实验环境:Microsoft Visual C++6.0

实验的预习内容

传输控制协议TCP(Transport Control Protocol)是一种面向连接的,可靠的传输层协议。

面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立

特定的虚电路连接来完成,该过程通常被称为“三次握手”。

举例说明,TCP客户端需要和TCP服务端建立连接,过程如图所示

第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。

服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK标志置位)。

在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的TCP连接,开始全双工模式的数据传输过程。

UDP(User Datagram Protocol),即用户数据报协议。它属于“面向无连接的

不可靠的传输”的类型。UDP中,每个数据包称为“数据报”,它的包头只包含4个域,主要是地址信息与包的长度和校验信息。与此对应,TCP包的头信息有10多个域。因此UDP的网络开销一般要小于TCP。

由于UDP在传送数据过程中没有建立连接,也不进行检查,因此UDP是不可靠的,它不能保证数据报能安全无误地到达目的主机。

实验的步骤与调试方法

程序的流程图

UDP协议下实验:

程序流程图:

实验数据与实验结果

Tcpclient

Tcperver

Udp client

Udp server

实验用程序清单(要有注释)

TCPSERVER:

// Module Name: tcpserver.cpp

#include

#include

#pragma comment(lib, "ws2_32.lib")

void main(void)

{

WSADATA wsaData;

SOCKET ListeningSocket;

SOCKET NewConnection;

SOCKADDR_IN ServerAddr;

SOCKADDR_IN ClientAddr;

int ClientAddrLen;

int Port = 5150;

int Ret;

char DataBuffer[1024];

// Initialize Winsock version 2.2

if ((Ret = WSAStartup(MAKEWORD(2,2), &wsaData)) != 0)

{

printf("WSAStartup failed with error %d\n", Ret);

return;

}

// Create a new socket to listening for client connections.

if ((ListeningSocket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP))

== INVALID_SOCKET)

{

printf("socket failed with error %d\n", WSAGetLastError());

WSACleanup();

return;

}

ServerAddr.sin_family = AF_INET;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值