用c++写的tcp连接程序
请诸位大虾帮忙,求c++版tcp连接传输的客户端和服务器端程序!!!要求一个终端可实现这两个功能。...
请诸位大虾帮忙,求c++版tcp连接传输的客户端和服务器端程序!!!
要求一个终端可实现这两个功能。 展开
要求一个终端可实现这两个功能。 展开
1个回答
展开全部
注意: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
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
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询