资源简介
1. 将Server目录下的Server.cpp中第58行到61行的IP地址改为本机实际的IP地址。2. 编译Server.cpp并运行。在命令行方式下运行。程序无输出,保持其运行,等待Client连接。3. Client目录下的Client.cpp不需修改,可以直接编译。但因为有命令行参数,所以不能直接在VC中运行,需要在命令行方式下运行。命令格式为: client 服务器IP地址 3000也可将Debug目录下的批处理文件run.bat修改后双击运行。此时,Client显示“发送成功”,Server显示“连接中止......”。
代码片段和文件信息
// Client.cpp : Defines the entry point for the console application.
//
#include “stdafx.h“
#include “stdio.h“
#include “Winsock2.h“
#define DATA “hello world!“
void main(int argc char* argv[])
{
int sockid;//Socket号
struct sockaddr_in server_addr;//服务器的地址结构
struct hostent *hp;//主机信息的结构
////////第一步,版本协商
WORD wVersionRequested;//需要的版本号
WSADATA wsaData;//协商时使用的变量
//使要求的版本为2.1
int err;
//设置需要的版本号为2.1
wVersionRequested=MAKEWORD(12);
//启动socket
err=WSAStartup(wVersionRequested&wsaData);
//用户没有找到一个可以使用的DLL,返回
if(err!=0)
{
perror(“无DLL可用“);
}
//确保Windows Sockets Dll支持2.1
if((LOBYTE(wsaData.wVersion)!=1)||(HIBYTE(wsaData.wHighVersion)!=2))
{
perror(“无正确的DLL“);
WSACleanup();
return;
}
////////第二步,建立socket
sockid=socket(AF_INETSOCK_STREAM0);
if(sockid<0)
{
perror(“建立套接字失败“);
return;
}
//建立地址域
server_addr.sin_family=AF_INET;
//得到命令行中指定的服务器的名字
hp=gethostbyname(argv[1]);
if(hp==0)
{
//没有可以得到的信息,程序不能继续执行
return;
}
memcpy((char*)&server_addr.sin_addr(char*)hp->h_addr hp->h_length);
//得到命令行中指定的服务器提供的端口号
server_addr.sin_port=htons((unsigned short)atoi(argv[2]));
///////第三步,进行连接
if(connect(sockid(struct sockaddr*)&server_addrsizeof(server_addr))<0)
{
perror(“连接失败“);
return;
}
///////第四步,进行发送数据
if((send(sockidDATAsizeof(DATA)0))<0)
{
perror(“发送数据失败“);
return;
}
else
{
//成功发送
printf(“成功发送\n“);
}
///////关闭socket
closesocket(sockid);
WSACleanup();//和WSAStartup()相对应
return;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 3445 2005-05-24 19:40 控制台通信程序\Client\Client.dsp
文件 520 2005-05-24 19:10 控制台通信程序\Client\Client.dsw
文件 50176 2008-04-11 11:38 控制台通信程序\Client\Client.ncb
文件 1130 2008-04-11 11:37 控制台通信程序\Client\Client.plg
文件 1208 2005-05-24 19:10 控制台通信程序\Client\ReadMe.txt
文件 293 2005-05-24 19:10 控制台通信程序\Client\StdAfx.cpp
文件 667 2005-05-24 19:10 控制台通信程序\Client\StdAfx.h
文件 155706 2008-04-11 11:37 控制台通信程序\Client\Debug\Client.exe
文件 30 2008-04-11 09:51 控制台通信程序\Client\Debug\run.bat
目录 0 2008-04-10 16:17 控制台通信程序\Client\Debug
文件 1769 2008-04-11 15:19 控制台通信程序\Client\Client.cpp
文件 48640 2008-04-11 11:38 控制台通信程序\Client\Client.opt
目录 0 2008-04-10 16:17 控制台通信程序\Client
文件 1208 2005-05-24 19:10 控制台通信程序\Server\ReadMe.txt
文件 4574 2005-05-24 19:44 控制台通信程序\Server\Server.dsp
文件 520 2005-05-24 19:10 控制台通信程序\Server\Server.dsw
文件 50176 2008-04-11 11:42 控制台通信程序\Server\Server.ncb
文件 1303 2008-04-11 11:42 控制台通信程序\Server\Server.plg
文件 293 2005-05-24 19:10 控制台通信程序\Server\StdAfx.cpp
文件 667 2005-05-24 19:10 控制台通信程序\Server\StdAfx.h
文件 155706 2008-04-11 11:42 控制台通信程序\Server\Debug\Server.exe
目录 0 2008-04-10 16:18 控制台通信程序\Server\Debug
文件 2583 2008-04-11 11:42 控制台通信程序\Server\Server.cpp
文件 48640 2008-04-11 11:42 控制台通信程序\Server\Server.opt
目录 0 2008-04-10 16:18 控制台通信程序\Server
目录 0 2008-04-10 16:17 控制台通信程序
文件 445 2008-04-11 15:32 控制台通信程序\程序运行说明.txt
----------- --------- ---------- ----- ----
529699 27
............此处省略0个文件信息
- 上一篇:FontSubsetGUI
- 下一篇:8taesy.rar
相关资源
- Linux课程设计—基于服务器的文件共享
- socket服务端和客户端完整代码
- VNC-viewer客户端 for win32,绿色版
- delphi写的自动升级演示 多线程+http服
- 封装一个类搞定90%安卓客户端与服务
- FastDFS单机版图片服务器17年淘淘商城
- 基于Live555的从多个摄像头实时获取
- sebek_win32客户端
- 最简RTSP客户端程序
- linux下tuxedo服务器安装与配置
- h5画布动态添加点连接成贝塞尔曲线
- ora-12514:TNS:监听程序当前无法识别连接
- 四川大学计算机网络实验——web服务
- Dell PowerEdge R820 服务器 安装 server20
- 智能小车QT远程客户端
- 视频小车QT客户端
- 多线程http服务器实现流程图
- 支持多线程断点续传的文件传输(F
- 发现服务器已开启的TCP服务
- EasyWebSvr
- 手写http服务器1.0.0版本
- SPI接口与74HC595的连接原理图
- esp8266 连接阿里物理网平台远程控制
- tcp socket代理服务器
- ModbusTCP 客户端
- TFTP客户端 文件上传/实现
- 异步TCP客户端+掉线自动重连
- Linux内核链表实现多客户端连接服务器
- linux-FTP客户端(纯C代码)
- WebSocket安卓客户端实现详解(二)-
评论
共有 条评论