一、实验目的与实验要求1、实验目的使用 c++ 或 c#,基于 SOCKET 开发一个简单的 C/S 文本传输程序2、实验要求客户端能够发送由标准输入得到的文本,服务器能够接收并将其显示在标准输出上。二、实验设备(环境)及要求计算机系统:windows :vc++、实验内容与步骤1、实验 1(1)实验内容1、服务器端先初始化 socket,并绑定端口,对端口进行监听,等待客户端的连接。2、客户端初始化 socket,连接服务器,并发送数据给服务器。3、服务器接受客户端的数据,并返回回复信息。(2)主要步骤工作原理:代码:服务器#include <>#include <>#ment(lib,"")int main(){//初始化WORD sockVersion = MAKEWORD(2, 2);WSADATA wsaData;if (WSAStartup(sockVersion, &wsaData) != 0){return 0;}//创建套接字SOCKET slisten = socket(, SOCK_STREAM, IPPROTO_TCP);if (slisten == INVALID_SOCKET){printf("socket error !");return 0;}//绑定 IP 和端口sockaddr_in sin; = ; = htons(55555); = INADDR_ANY;if (bind(slisten, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR){printf("bind error !");return 0;}//开始监听if (listen(slisten, 5) == SOCKET_ERROR){printf("listen error !");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("accept error !");return 0;}printf("接受到一个连接:%s \r\n", inet_ntoa());//接收数据while (1){int ret = recv(Client, revData, 255, 0);if (ret > 0){revData[ret] = 0x00;printf("来自客户端的信息:");printf(revData);printf("\n");}//发送确认信息char * sendData = "发送成功。\n\n";send(Client, sendData, strlen(sendData), 0);}closeso
基于SOCKET开发文本服务器客户端文本传输程序 来自淘豆网www.taodocs.com转载请标明出处.