好文档 - 专业文书写作范文服务资料分享网站

基于SOCKET开发文本服务器客户端文本传输程序文件

天下 分享 时间: 加入收藏 我要投稿 点赞

.. ..

一、实验目的与实验要求

1、实验目的

使用c++6.0或c#,基于SOCKET开发一个简单的C/S文本传输程序 2、实验要求

客户端能够发送由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。

二、实验设备(环境)及要求

计算机系统:windows 8.1 软件环境:vc++6.0

三、实验容与步骤

1、实验1 (1)实验容

1、服务器端先初始化socket,并绑定端口,对端口进行监听,等待客户端的连接。

2、客户端初始化socket,连接服务器,并发送数据给服务器。 3、服务器接受客户端的数据,并返回回复信息。

... . .

.. ..

(2)主要步骤 工作原理:

代码: 服务器

#include #include

#pragma comment(lib,\int main() {

//初始化

WORD sockVersion = MAKEWORD(2, 2); WSADATA wsaData;

if (WSAStartup(sockVersion, &wsaData) != 0) {

return 0; }

//创建套接字

SOCKET slisten = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); if (slisten == INVALID_SOCKET) {

... . .

.. ..

printf(\ return 0; }

//绑定IP和端口 sockaddr_in sin;

sin.sin_family = AF_INET; sin.sin_port = htons(55555);

sin.sin_addr.S_un.S_addr = INADDR_ANY;

if (bind(slisten, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR) {

printf(\ return 0; }

//开始监听

if (listen(slisten, 5) == SOCKET_ERROR) {

printf(\ return 0; }

SOCKET Client;

sockaddr_in remoteAddr;

int nAddrlen = sizeof(remoteAddr); char revData[255];

printf(\ 等待连接...\\n\

Client = accept(slisten, (SOCKADDR *)&remoteAddr, &nAddrlen); if (Client == INVALID_SOCKET) {

printf(\ return 0; }

printf(\接受到一个连接:%s \\r\\n\ //接收数据 while (1) {

int ret = recv(Client, revData, 255, 0); if (ret > 0) {

revData[ret] = 0x00;

printf(\来自客户端的信息:\ printf(revData); printf(\

... . .

.. ..

}

}

//发送确认信息

char * sendData = \发送成功。\\n\\n\

send(Client, sendData, strlen(sendData), 0); }

closesocket(slisten); WSACleanup(); return 0;

客户端

#include #include

#pragma comment(lib,\int main() {

WORD sockVersion = MAKEWORD(2, 2); WSADATA data;

if (WSAStartup(sockVersion, &data) != 0)

{

return 0; }

SOCKET sclient = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); {

printf(\ return 0; }

sockaddr_in serAddr;

if (sclient == INVALID_SOCKET)

serAddr.sin_family = AF_INET; serAddr.sin_port = htons(55555);

serAddr.sin_addr.S_un.S_addr = inet_addr(\

if (connect(sclient, (sockaddr *)&serAddr, sizeof(serAddr)) == SOCKET_ERROR)

{

printf(\ closesocket(sclient); return 0; }

//发送和接收

printf(\连接成功\\n\

while(1) {

char *sendData, *q;

sendData = (char*)malloc(sizeof(char) * 20); q = sendData;

... . .

.. ..

}

}

printf(\请输入需要传输的信息:\ scanf(\

send(sclient, sendData, strlen(sendData), 0); char recData[500];

int ret = recv(sclient, recData, 500, 0); if (ret > 0) { }

recData[ret] = 0x00; printf(recData);

closesocket(sclient); WSACleanup();

return 0;

四:实验结果与分析

打开服务器,等待连接:

客服端连接后:

接收到客户端信息后等待再次接收信息

... . .

基于SOCKET开发文本服务器客户端文本传输程序文件

....一、实验目的与实验要求1、实验目的使用c++6.0或c#,基于SOCKET开发一个简单的C/S文本传输程序2、实验要求客户端能够发送由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。二、实验设
推荐度:
点击下载文档文档为doc格式
3dm869sk5c7g2499ip734mu7526kg600fpa
领取福利

微信扫码领取福利

微信扫码分享