请教高手一个关于套接字编程的问题

来源:百度知道 编辑:UC知道 时间:2024/05/29 02:01:18
我想请教一下高手,因为时间挺紧张,要交实验报告。所以只能充分利用互联网来向高手们请教了,是这样的,就是用套接字编程,用UDP协议,程序实现的功能是从客户端向服务器发送简单的一句话,比如:Hello,C++!(是在VC环境下编程的)而服务器端收到后在屏幕上显示:Hello,C++!同时能显示长度信息。这是一个程序,服务器和客户端分别编制。如果在此基础上扩展一下,改为在它们之间传输一个文件,这又该怎么做,请教高手帮帮我吧,我仅是一级实习生,没多少分,所以只能提供很少的悬赏分,但是我相信高手是会助人为乐的,我也相信会助人自助助别人,能让这种好的东西延续下去,谢谢您们了

服务端
#include <iostream>
#include <windows.h>

// 连接WS2_32.dll库
#pragma comment (lib,"WS2_32.lib")
using namespace std;
int main()
{
// 初始化WS2_32.dll
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2,0);
::WSAStartup(sockVersion,&wsaData);

// 创建套接字
SOCKET service = ::socket(AF_INET,SOCK_DGRAM,0);
if(service == INVALID_SOCKET)
{
cout<<"创建套接字失败!"<<endl;
::WSACleanup();
return 0;
}

// 填充sockaddr_in结构
sockaddr_in local;
local.sin_family = AF_INET;
local.sin_port = ::htons(8000);
local.sin_addr.S_un.S_addr = INADDR_ANY; // INADDR_ANY 表示为当前主机配置的IP地址

// 绑定套接字s到本地地址
if(::bind( service, (LPSOCKADDR)&local, sizeof(local)) == SOCKET_ERROR)
{
cout<<"绑定套接字s到本地地址失败!"<<endl;
::WSACleanup();
return 0;
}

// 客户端地址
soc