资源简介
一个简单的socket通讯程序, 包括服务端和客户端程序。建立客户端和客户端c++空项目,分别添加socketClient.cpp和sockServer.cpp, 根据注释配置,编译生成后就可以执行。客户端程序在visual studio 2015和2013上编译通过,服务端程序在visual studio 2015和2008上编译通过。网上的一些程序在编译时会出错,或者运行时会中断,希望这个程序对你会有所帮助。

代码片段和文件信息
#include
#include
#include
#include “Ws2tcpip.h“
using namespace std;
#pragma comment(lib “ws2_32.lib“)
//visual studio 2015上通过
int main(int argc char* argv[])
{
/*设置服务端的IP与Port*/
char * serverip = “192.168.50.216“;
int svrport = 5099;
WORD sockVersion = MAKEWORD(2 2);
WSADATA data;
/*Windows Sockets Asynchronous的启动命令*/
if (WSAStartup(sockVersion &data) != 0)
{
return 0;
}
/*设定服务器地址 退出时输入exit*/
in_addr ipv4addr;
InetPton(AF_INET serverip &ipv4addr);
sockaddr_in serAddr;
serAddr.sin_family = AF_INET;
serAddr.sin_addr = ipv4addr;
serAddr.sin_port = htons(svrport);
//serAddr.sin_addr.S_un.S_addr = inet_addr(serverip);
while (true) {
SOCKET sclient;
string str;
int count = 0;
int ret = 0;
char recData[255];
/*接收用户输入信息*/
printf(“input your message: “);
getline(cin str);
if (str.length() == 0) {
continue;
}
/*exit就退出*/
if (str.compare(“exit“) == 0) break;
/*获得socket通道*/
sclient = socket(AF_INET SOCK_STREAM IPPROTO_TCP);
if (sclient == INVALID_SOCKET)
{
printf(“invalid socket!\n“);
continue;
}
/*连接*/
if (connect(sclient (sockaddr *)&serAddr sizeof(serAddr)) == SOCKET_ERROR)
{ /*连接失败*/
printf(“connect error !\n“);
closesocket(sclient);
continue;
}
/*发送到服务端*/
const char * sendData = str.data();
count = send(sclient sendData strlen(sendData) 0);
if (count == -1) {
printf(“send data error。\n“);
}
/*接收服务端的输出*/
ret = recv(sclient recData 255 0);
if (ret>0) {
recData[ret] = 0x00;
printf(“received: “);
printf(recData);
printf(“\n“);
}
}
/*终止Winsock 2 DLL (Ws2_32.dll)*/
WSACleanup();
return 0;
}
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 2258 2017-05-11 09:15 socketServer.cpp
文件 1826 2017-05-11 09:12 socketClient.cpp
- 上一篇:线性反馈移位寄存器
- 下一篇:c语言实现病例管理系统
相关资源
- C++多线程网络编程Socket
- socket客户端.c
- socket服务端.c
- socket tcp应用
- socket通讯c++源码(客户端+服务端)
- MFC的异步网络通讯应用程序
- 各种关于CAsyncSocketCSocket内幕及其用法
- Microsoft.Visual.C++.NET技术内幕第六版
- Microsoft Visual C++.NET技术内幕
- MFC多人聊天室
- 使用socket套接字发送udp数据包
- CAsyncSocket异步实现服务器与客户端
- 基于socket文件传输的实现源码[C++]
- Visual C++.NET图像处理编程源代码 陆宗
- C语言实现TCP/IP协议通信和UDP协议通信
- c语言+UDP+DES加密+socket编程
- 局域网下,手机可以和电脑通过sock
- 计算机网络课程设计之Ping程序含C++原
- 基于c++和winsocket的局域网聊天源代码
- 基于udp的socket编程
- VC++,CSocket实现网络聊天,可发文件,
- 基于TCP协议的文件传输编程
- Socket编写的一个基于MFC的聊天程序源
- C++写的网络共享白板
- 基于TCP/IP socket的局域网聊天系统
- C++编写的多线程C/S模式仿QQ软件
- c++ socket 实现 语音 通信 双工
- MFC Csocket实现点对点文件传输
- CSocket端口扫描源代码MFC、VC++耿网出品
- 简单的基于MFC的Socket点对点对话客户
评论
共有 条评论