当前位置: 首页 > news >正文

外国做的中国动画视频网站网页设计素材资讯

外国做的中国动画视频网站,网页设计素材资讯,怎么做网页小精灵,自己的电脑做服务器 并建网站这里是一个socket编程Demo,不考虑出错情况,代码简单,便于了解socket流程。 Demo分为服务器程序和客户端程序,运行需要先启动服务器程序,再启动客户端程序。 服务器会等待连接,客户端连接后,服…

这里是一个socket编程Demo,不考虑出错情况,代码简单,便于了解socket流程。

Demo分为服务器程序和客户端程序,运行需要先启动服务器程序,再启动客户端程序。

服务器会等待连接,客户端连接后,服务发送"connected."给客户端。

然后客户端会与服务器进行10次交互,一个交互为:客户端发一个消息,服务器收到,原样返回给客户端,客户端收到,再发下一个消息。

10次交互完成,关闭链接,两边程序都结束。

服务器程序:

#include <iostream>
#include <WinSock2.h>
#include <WS2tcpip.h>#pragma comment (lib, "ws2_32.lib")#define SOCKET_ADDR "127.0.0.1"
#define SOCKET_PORT 1234int main()
{WSADATA wsaData;WSAStartup( MAKEWORD(2, 2), &wsaData);SOCKET servSock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);struct sockaddr_in sockAddr;memset(&sockAddr, 0, sizeof(sockAddr));sockAddr.sin_family = PF_INET;inet_pton(AF_INET, SOCKET_ADDR, &sockAddr.sin_addr.s_addr);sockAddr.sin_port = htons(SOCKET_PORT);bind(servSock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR));listen(servSock, 1);SOCKADDR clntAddr;int nSize = sizeof(SOCKADDR);SOCKET clntSock = accept(servSock, (SOCKADDR*)&clntAddr, &nSize);const char *str = "connected.";send(clntSock, str, strlen(str)+sizeof(char), NULL);int i = 10;char szBuffer[MAXBYTE] = { 0 };while (i != 0){memset(szBuffer, 0, MAXBYTE);recv(clntSock, szBuffer, MAXBYTE, NULL);std::cout << szBuffer << std::endl;send(clntSock, szBuffer, strlen(szBuffer)+ sizeof(char), NULL);--i;}closesocket(clntSock);closesocket(servSock);WSACleanup();return 0;
}

客户端程序:

#include <iostream>
#include <WinSock2.h>
#include <WS2tcpip.h>
#pragma comment(lib, "ws2_32.lib")#define SOCKET_ADDR "127.0.0.1"
#define SOCKET_PORT 1234int main()
{WSADATA wsaData;WSAStartup(MAKEWORD(2, 2), &wsaData);SOCKET sock = socket(PF_INET, SOCK_STREAM, IPPROTO_TCP);struct sockaddr_in sockAddr;sockAddr.sin_family = PF_INET;inet_pton(AF_INET, SOCKET_ADDR, &sockAddr.sin_addr.s_addr);sockAddr.sin_port = htons(SOCKET_PORT );connect(sock, (SOCKADDR*)&sockAddr, sizeof(SOCKADDR));char szBuffer[MAXBYTE] = {0};recv(sock, szBuffer, MAXBYTE, NULL);std::cout << szBuffer << std::endl;int i = 10;while (i != 0){snprintf(szBuffer, MAXBYTE, "Index:%d", i);send(sock, szBuffer, strlen(szBuffer) + sizeof(char), NULL);std::cout << "send:" << szBuffer << std::endl;memset(szBuffer, 0, MAXBYTE);recv(sock, szBuffer, MAXBYTE, NULL);std::cout << "recv:" << szBuffer <<std::endl;--i;}closesocket(sock);WSACleanup();return 0;
}

客户端运行后输出:

connected.
send:Index:10
recy:Index:10
send:Index:9
recy:Index:9
send:Index:8
recy:Index:8
send:Index:7
recy:Index:7
send:Index:6
recy:Index:6
send:Index:5
recy:Index:5
send:Index:4
recy:Index:4
send:Index:3
recy:Index:3
send:Index:2
recy:Index:2
send:Index:1
recy:Index:1

两个程序在VS2019上编译运行通过。

主要交互在while里, 客户端这边是(发,收),服务器这边是(收, 发)。

Linux的socket与Windows类似,区别如下:

1.socket类型不同,

Windows: SOCKET(unsigned __int64)

Linux: int

2.收发函数不同:

Windows: recv/send

Linux: read/write

3.关闭socket不同:

Windows: closesocket(socket)

Linux: close(socket)

http://www.yayakq.cn/news/219255/

相关文章:

  • 无锡网站建设 推荐无锡立威云商附近卖建筑模板市场
  • 江山集团网站建设外包做网站一般多少钱
  • 扬中网站建设机构加盟哪家装修公司好
  • 昆明网站建设frf手机必备20个软件
  • 哈尔滨网络建站的公司网站开发项目书
  • 网页设计与网站建设中的热点是什么陕西头条新闻最新消息
  • 网站提交了被收录后改怎么做别人买了域名做违法网站
  • 建立中英文网站网站制作用什么
  • 中山 网站推广发帖推广百度首页
  • 河南最新新闻事件15条湛江网站排名优化
  • 全国网站建设网站建设要做原型图吗
  • 共青城网站建设公司网页表单制作步骤
  • 网站背景居中怎么做网站开发整套视频
  • 网站主机多少钱查看本分行
  • 设计logo免费网站注册建筑工程公司需要什么条件
  • 专业的画册设计网站建设网站前的需求分析
  • 产教融合平台建设网站官方正版清理优化工具
  • 深圳网站建设及推广合川网站建设公司
  • 电力建设规范下载网站线上购物平台
  • 公司图片wordpress图片seo
  • 定远建设小学网站沪上装修排名前十有哪些品牌
  • 怎么制作u盘启动盘淘宝关键词优化推广排名
  • 青岛设计网站的公司theme one wordpress
  • 网站开发技术部分wordpress主页页面模板
  • 零基础建网站合作seo公司
  • 句容市住房和城乡建设局网站学做系统的网站
  • 佛山网站开发哪家好昆山网站开发
  • 滨海企业做网站多少钱杭州做网站怎么收费多少
  • 免费网站建设公司代理咸阳网站建设seo
  • 查数据的权威网站dede 网站地图样式