用c++写的tcp连接程序

请诸位大虾帮忙,求c++版tcp连接传输的客户端和服务器端程序!!!要求一个终端可实现这两个功能。... 请诸位大虾帮忙,求c++版tcp连接传输的客户端和服务器端程序!!!
要求一个终端可实现这两个功能。
展开
 我来答
lynkoo
推荐于2016-03-20 · 超过14用户采纳过TA的回答
知道答主
回答量:62
采纳率:0%
帮助的人:39.4万
展开全部
注意:server/client都需要再连接一个库文件:
project->setting->link:object/library modules 添加:ws2_32.lib
需要先启动server,再启动client
这个需要手动添加,都不要忘记了。

Server代码:
#include <Winsock2.h>
#include <stdio.h>
#include <windows.h>
//注意:需要再连接一个库文件:project->setting->link:object/library modules添加:ws2_32.lib
void main()
{
WORD wVersionRequested;//版本号
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1, 1 );//1.1版本的套接字

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}//加载套接字库,加裁失败则返回

if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}//如果不是1.1的则退出

SOCKET sockServer = socket(AF_INET,SOCK_STREAM,0);
SOCKADDR_IN addrServer;//地址结构信息
addrServer.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//IP信息,一般设置为这个就可以
addrServer.sin_family=AF_INET;
addrServer.sin_port=htons(6000);//端口

bind(sockServer,(SOCKADDR *)&addrServer,sizeof(SOCKADDR));//绑定

listen(sockServer,5);//监听

SOCKADDR_IN sockClient;
int IClientSockLen=sizeof(SOCKADDR);

while(1){
SOCKET sockConn;
sockConn=accept(sockServer,(SOCKADDR *)&sockClient,&IClientSockLen);//接受连接请求

//在下面加入你要实现的代码

closesocket(sockConn);

}//while

WSACleanup();

}//main

Client代码:

#include <Winsock2.h>
#include <windows.h>
#include <stdio.h>
//注意:需要再连接一个库文件:project->setting->link:object/library modules添加:ws2_32.lib
void main()
{
WORD wVersionRequested;//版本号
WSADATA wsaData;
int err;

wVersionRequested = MAKEWORD( 1, 1 );//1.1版本的套接字

err = WSAStartup( wVersionRequested, &wsaData );
if ( err != 0 ) {
return;
}//加载套接字库,加裁失败则返回

if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {
WSACleanup( );
return;
}//如果不是1.1的则退出

SOCKET sockClient = socket(AF_INET,SOCK_STREAM,0);//创建socket SOCK_STREAM表示TCP
SOCKADDR_IN addrClient; //设置相关地址结构
addrClient.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//把127.0.0.7改为你的server端的ip地址
addrClient.sin_family=AF_INET;
addrClient.sin_port=htons(6000);//设置server端端口号,你可以随便设置

//连接
int x=connect(sockClient,(SOCKADDR*)&addrClient,sizeof(SOCKADDR));

//在下面写你要实现的功能的代码

closesocket(sockClient);//关闭

WSACleanup();

}//main
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式