实验一 基于TCP和UDP的客户端和服务器端

本次实验旨在掌握TCP和UDP的C语言Socket编程,涉及Windows和Linux环境下的客户端与服务器端实现。实验内容包括创建套接字、绑定、监听、连接、数据收发及关闭套接字。实验中遇到了编译环境配置和运行时的错误,通过调整链接库和修正代码问题得以解决。实验总结强调了TCP的面向连接特性以及在不同网络协议层的作用。
摘要由CSDN通过智能技术生成

一、 实验要求

(1)分别编写基于TCP和UDP的Windows和Linux程序客户端和服务器端;
(2)实现TCP客户端和服务器端之间的基本的数据收发;
(3)实现UDP客户端和服务器端之间的基本的数据收发;

二、实验目的

(1)掌握基于C语言的Socket编程相关函数和数据类型;
(2)掌握WIN32和Linux操作系统下的程序的基本编程方法,以及TCP、UDP编程的基本方法;
(3)熟练掌握UDP、TCP 客户端/服务器端模式的通信原理,及编程命令;

三、 实验环境

Windows 2007,DEV C++。

四、 实验内容

一个简单的客户机/服务器程序的实现。基本原理:
服务器端:
(1)调用socket函数创建套接字;
(2)调用bind函数绑定socket和端口号;
(3)调用listen函数监听连接请求;
(4)调用accept函数接收来自客户端的连接请求;
(5)调用send()、recv()函数和read()、write()函数进行数据的传输;
(6)调用close()函数关闭套接字;
客户端:
(1)调用socket()函数创建套接字;
(2)调用connect()函数连接指定服务器的端口;
(3)调用send()、recv()函数和read()、write()函数进行数据的传输;
(4)调用close()函数关闭套接字;

五、 实验原代码

(1)服务端代码

1.	#include<stdio.h>  
2.	#include<stdlib.h>  
3.	#include<string.h>  
4.	#include<winsock2.h>  
5.	  
6.	#define BUF_SIZE 1024  
7.	void ErrorHandling(char *message);  
8.	  
9.	int main(int argc,char *argv[])  
10.	{  
11.	    WSADATA wsaData;//定义数据类型   
12.	    SOCKET hServSock,hClntSock;  
13.	    char message[BUF_SIZE];//消息数组   
14.	    int strLen,i;  
15.	    SOCKADDR_IN servAdr,clntAdr;//指明地址信息   
16.	    int clntAdrSize;  
17.	//初始化个变量,以及定义结构体      
18.	    if(argc!=2)//输入两个值   
19.	    {  
20.	        printf("Usage : %s <port>\n", argv[0]);  
21.	        exit(1);  
22.	    }  
23.	      
24.	    if(WSAStartup(MAKEWORD(2,2),&wsaData)!=0)  
25.	/*windows环境下的winsock初始
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值