1. 首页
  2. 文档大全

实验一WinSock-点对点通信程序.docx

上传者:布罗奇迹 2022-07-10 02:54:39上传 DOCX文件 2.01 MB
实验一:WinSock-点对点通信程序
计算机网络实验
——WinSock 点对点通信程序
实验目的:
WinSock 是Windows 操作系统下的Socket 编程接口,通过WinSock 函数库
可以实现基于TCP/IP 协议的进程之间通信。
理解基于 WinSock 的客户/服务器概念
掌握使用 WinSock 进行编程的方法
了解常见 WinSock 开发模式的使用
实验内容:
基于 WinSock 开发一个简单的客户/服务器文本传输程序,客户端能够发送
由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。
实验环境:
程序运行环境为以太网,采用 TCP/IP 协议栈,网络操作系统为Windows。
程序开发环境为Visual C++6.0 版本。
(等待连接)
程序设置的服务器端的地址是:127.0.0.2,端口号是20。
客户端:
(服务器端 )
当客户端输入服务器的地址和端口以后就连接上了,当客户端发送数据时,服务器端能看到发送的数据。
发送数据以后服务器端与客户端的情况:
(当客户端发送数据后服务器端的情况)
实验总结:
通过本次的实验让我对winsock的服务器和客户的概念有了一定的认识,特别的对于客户与服务器之间建立连接的过程有了进一步的认识,而且我也初步掌握了winsock编程的方法,这些都让我受益匪浅。
在这次的实验中,我仅仅用到了winsock编程的一些简单功能,
还有很多的其他的功能没有使用到,其它很多功能都需要我们课下研究,在以后的学****中不断去掌握。
Client:
#include <stdio.h>
#include <winsock2.h>
#pragma comment(lib, "ws2_32.lib")
void main() {
char ip[15];
int port;
printf("地址:");
scanf("%s",ip);
printf("端口:");
scanf("%d",&port);
// 初始化 Winsock.
WSADATA wsaData;
int iResult = WSAStartup( MAKEWORD(2,2), &wsaData );
if ( iResult != NO_ERROR )
printf("Error at WSAStartup()\n");
// 建立socket socket.
SOCKET client;
client = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if ( client == INVALID_SOCKET ) {
printf( "Error at socket(): %ld\n", WSAGetLastError() );
WSACleanup();
return;
}
// 连接到服务器.
sockaddr_in clientService;
clientService.sin_family = AF_INET;
clientService.sin_addr.s_addr = inet_addr( ip );
clientService.sin_port = htons( port );
if ( connect( client, (SOCKADDR*) &clientService, sizeof(clientService) ) == SOCKET_ERROR) {
printf( "Failed to connect.\n" );
WSACleanup();
return;
}
// 发送并接收数据.
int bytesSent;
int bytesRecv = SOCKET_ERROR;
char sendbuf[32] = "";

while(1)
{
printf("发送:");
scanf("%s",sendbuf);
bytesSent = send( client, sendbuf, strlen(sendbuf), 0 );
if(sendbuf[0]=='-'&&sendb

实验一:WinSock-点对点通信程序


文档来源:https://www.taodocs.com/p-694381339.html

文档标签:

下载地址