计算机网络实验报告2 - 图文(2)

2019-02-16 00:47

#pragma comment(lib, \

class CClientNet {

public: //连接上指定服务器 int Connect(int port,const char* address); //发送信息 //int SendMsg(const char* msg,int len); void SendMsg(); //关闭 void Close();

private: SOCKET m_sock; };

int CClientNet::Connect( int port,const char* address ) { int rlt = 0; //用于记录错误信息并输出 int iErrMsg; //启动WinSock WSAData wsaData; iErrMsg = WSAStartup(MAKEWORD(1,1),&wsaData); if (iErrMsg != NO_ERROR) { printf(\ rlt = 1; return rlt; } //创建Socket m_sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP); if (m_sock == INVALID_SOCKET) //创建Socket失败 { printf(\

iii

rlt = 2; return rlt; } //目标服务器数据 sockaddr_in sockaddrServer; sockaddrServer.sin_family = AF_INET; sockaddrServer.sin_port = port;//端口号 sockaddrServer.sin_addr.s_addr = inet_addr(address);//将一个点分十进制的IP转换成一个长整数型数 //连接,sock与目标服务器连接 iErrMsg = connect(m_sock,(sockaddr*)&sockaddrServer,sizeof(sockaddrServer)); if (iErrMsg < 0) { printf(\ rlt = 3; return rlt; } return rlt; }

void CClientNet::SendMsg() { char a[50]; char b[50]; char c[50]; printf(\ gets(b); send(m_sock,b,sizeof(b),0); char recvBuf[50]; recv(m_sock,recvBuf,50,0); printf(\ gets(c); send(m_sock,c,sizeof(c),0); recv(m_sock,recvBuf,50,0); printf(\ while(1) {

iv

gets(a); if(strcmp(a,\ { send(m_sock,a,sizeof(a),0); break; } else { send(m_sock,a,sizeof(a),0); char recvBuf[50]; recv(m_sock,recvBuf,50,0); printf(\ } } }

void CClientNet::Close() { closesocket(m_sock); }

void main() { CClientNet client; //连接到127.0.0.1(即本地),端口号为8888的服务端 printf(\ client.Connect(8888,\ //发送消息 client.SendMsg(); //关闭socket printf(\ client.Close(); system(\}

②. Server端 #pragma once

v

#include #include

#pragma comment (lib,\

class CServerNet {

public: //初始化服务器,返回0表示成功 int Init(const char* address,int port); //更新数据 void Run();

private: SOCKET m_sock; };

int CServerNet::Init( const char* address,int port ) { int rlt = 0; //用于记录错误信息,并输出 int iErrorMsg; //初始化WinSock WSAData wsaData; iErrorMsg = WSAStartup(MAKEWORD(1,1),&wsaData); if (iErrorMsg != NO_ERROR) { //初始化WinSock失败 printf(\ rlt = 1; return rlt; } //创建服务端Socket m_sock = socket(AF_INET,SOCK_STREAM,IPPROTO_TCP);

vi

if (m_sock == INVALID_SOCKET) { //创建Socket异常 printf(\ rlt = 2; return rlt; } //声明信息 sockaddr_in serverAddr; serverAddr.sin_family = AF_INET; serverAddr.sin_port = port; serverAddr.sin_addr.s_addr = inet_addr(address); //绑定 iErrorMsg = bind(m_sock,(sockaddr*)&serverAddr,sizeof(serverAddr)); if (iErrorMsg < 0) { //绑定失败 printf(\ rlt = 3; return rlt; } return rlt; }

void CServerNet::Run() { //公开连接 listen(m_sock,5); sockaddr_in tcpAddr; int len = sizeof(sockaddr); SOCKET newSocket; char buf[1024]; int rval; char acc[]=\

vii


计算机网络实验报告2 - 图文(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:如何通过潜意识理论管理自我情绪 答案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: