资源简介
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
相关资源
- 虚拟光驱deamon 适用于64位服务器的
- FTP课程设计(服务端+客户端)
- mybatis连接oracle实例
- 编写简单的RMI程序 多线程web 服务器
- IOCP 类 简单的IOCP(IO完成端口)服务
- 基于Apache Mina实现的TCP长连接和短连接
- 模拟ATM柜员机系统--连接数据库
- 用工厂模式开发多数据库连接类
- CVI下的TCP服务器和客户端
- SOCKET 网络编程 计算机网络 作业 客户
- 用Socket写的简易FTP服务器和客户端
- 基于C 的简易FTP客户端(带源码)
- 光通信基本教程--详细描述光纤通
- jar转exe工具 教程,exe能在客户端没有
- socket小工具(可方便建立TCP UDP的soc
- socket客户端源码
- vc 编写的基于TCP协议的客户/服务器
- 61850客户端服务端测试程序
- Tomcat6.x
- 简单服务器端口监听和显示客户端发
- FANUC各硬件连接规格,型号,和连接方
- nRF24L01无线模块原理图和与5V单片机的
- 基于串口设备的嵌入式Web服务器系统
- 基于SC28L198的多串口服务器设计
- 基于LW IP的嵌入式串口服务器的设计与
- 基于Linux的串口服务器设计
- 一种嵌入式串口共享服务器的设计
- 连接物理谐振幅度和晶格QCD
- HP用SOCKET实现(客户端---服务端)
- 轻量级文件服务器Fdfs搭建(fastDFS+n
评论
共有 条评论