博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
clientapivc api TCP&UDP—helloworld
阅读量:5339 次
发布时间:2019-06-15

本文共 5262 字,大约阅读时间需要 17 分钟。

PS:今天上午,非常郁闷,有很多简单基础的问题搞得我有些迷茫,哎,代码几天不写就忘。目前又不当COO,还是得用心记代码哦!

    TCP_server:

#include
#pragma comment (lib, "ws2_32")//显式连接套接字库 int main(int argc, char *argv) { WSADATA wsaData; WSAStartup(MAKEWORD(2,2),&wsaData);//初始化套接字库 SOCKET s=socket(PF_INET,SOCK_STREAM,IPPROTO_TCP); sockaddr_in socketaddr; socketaddr.sin_family = PF_INET; socketaddr.sin_addr.S_un.S_addr = inet_addr("127.1.1.0"); socketaddr.sin_port = htons(827); bind(s,(SOCKADDR*)&socketaddr,sizeof(SOCKADDR)); listen(s,1); SOCKADDR clientAddr; int nSize = sizeof(SOCKADDR); SOCKET clientSock; clientSock = accept(s,(SOCKADDR*)&clientAddr,&nSize); send(clientSock,"hello client \r\n",strlen("hello client \r\n")+sizeof(char),NULL); closesocket(clientSock); closesocket(s); WSACleanup();//释放套接字库 return 0; }

    

 

    TCP_client:

#include
#include
#pragma comment (lib,"ws2_32")//显示连接套接字库 int main() { WSADATA wsaData; WSAStartup(MAKEWORD(2,2),&wsaData);//初始化套接字库 SOCKET s = socket(PF_INET,SOCK_STREAM,IPPROTO_TCP);//创立TCP套接字 sockaddr_in socketAddr; socketAddr.sin_family = PF_INET; socketAddr.sin_addr.S_un.S_addr = inet_addr("127.1.1.0"); socketAddr.sin_port = htons(827); connect(s,(SOCKADDR*)&socketAddr,sizeof(SOCKADDR)); char szBuffer[MAXBYTE] = {0}; recv(s,szBuffer,MAXBYTE,NULL); printf("szBuffer = %s \r\n",szBuffer); closesocket(s); WSACleanup();//释放套接字库 system("pause"); return 0; }

 client和api

 

 

 

    UDP_server:

    每日一道理
翻开早已发黄的页张,试着寻找过去所留下的点点滴滴的足迹。多年前的好友似乎现在看来已变得陌生,匆忙之间,让这维持了多年的友谊变淡,找不出什么亲切感,只是偶尔遇上,淡淡地微笑,如今也只能在这发黄的页张中找寻过去的那些让人难忘的,至少我可以握住这仅剩下一段的“丝线头”……
#include 
#include
#pragma comment(lib, "ws2_32.lib")int main(){ WSADATA wsData; SOCKET server; SOCKADDR_IN sockAddr; int sClitAddLen; SOCKET sClient; SOCKADDR_IN sClientAddr; int tmp; char buffer[512]; WSAStartup(MAKEWORD(2,2), &wsData); //初始化winsock server = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //创立winsock /*配置winsock*/ sockAddr.sin_family = AF_INET; sockAddr.sin_addr.s_addr = htonl(INADDR_ANY); sockAddr.sin_port = htons(5503); memset(&(sockAddr.sin_zero), 0, sizeof(sockAddr.sin_zero)); /*将winsock绑定到端口*/ if(bind(server, (SOCKADDR *)&sockAddr, sizeof(SOCKADDR)) != 0) { printf("bind is failure\n"); return 0; } listen(server, 10); /*在该端口监听*/ while(1) { memset(buffer, 0, sizeof(buffer)); sClitAddLen = sizeof(SOCKADDR); /*响应客户端服务*/ sClient = accept(server, (SOCKADDR *)&sClientAddr, &sClitAddLen); if(sClient == INVALID_SOCKET) { printf("accept is failure\n"); } else { printf("Server is connect with a Client\n"); if(recv(sClient, buffer, 512, 0) == SOCKET_ERROR) { printf("recv failed!\n"); } else { printf("%s\n", buffer); } } closesocket(sClient); } closesocket(server); WSACleanup(); return 0;}

    

UDP_client:

#define _CRT_SECURE_NO_DEPRECATE //屏蔽scanf的正告#include 
#include
#pragma comment(lib, "ws2_32.lib")int main(){ int tmp; WSADATA wsData; SOCKET client; SOCKADDR_IN sockAddr; char buffer[512]; WSAStartup(MAKEWORD(2,2), &wsData); //初始化winsock client = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP); //创立winsock /*配置winsock*/ sockAddr.sin_family = AF_INET; sockAddr.sin_addr.s_addr = inet_addr("127.0.0.1"); sockAddr.sin_port = htons(5503); memset(&(sockAddr.sin_zero), 0, sizeof(sockAddr.sin_zero)); /*连接到服务端*/ if(connect(client, (SOCKADDR *)&sockAddr, sizeof(sockAddr)) == SOCKET_ERROR) { printf("connet is failure \n"); return 0; } else { printf("connet with the Server \n"); } scanf("%s",buffer,255); send(client, buffer, (int)strlen(buffer), 0); /*向服务端发送数据*/ /*关闭socket并释放其占用的资源*/ closesocket(client); WSACleanup(); return 0;}

    

 

     

 

 

 

文章结束给大家分享下程序员的一些笑话语录: 面试官:熟悉哪种语言

应聘者:JAVA
面试官:知道什么叫类么
应聘者:我这人实在,工作努力,不知道什么叫累
面试官:知道什么是包?
应聘者:我这人实在 平常不带包 也不用公司准备了
面试官:知道什么是接口吗?
应聘者:我这个人工作认真。从来不找借口偷懒
面试官:知道什么是继承么
应聘者:我是孤儿没什么可以继承的
面试官:知道什么叫对象么?
应聘者:知道,不过我工作努力,上进心强,暂时还没有打算找对象。
面试官:知道多态么?
应聘者:知道,我很保守的。我认为让心爱的女人为了自已一时的快乐去堕胎是不道德的行为!请问这和C#有什么关系??

--------------------------------- 原创文章 By

client和api
---------------------------------

转载于:https://www.cnblogs.com/jiangu66/archive/2013/06/01/3112943.html

你可能感兴趣的文章
组合数
查看>>
第二章作业心得
查看>>
CMD批处理延时启动的几个方法
查看>>
转:LoadRunner中web_custom_request 和 web_submit_data的差别
查看>>
HTC G7直刷MIUI开启A2SD+亲测教程
查看>>
shiro的rememberMe不生效
查看>>
const 不兼容的类型限定符问题
查看>>
OpenCV的配置
查看>>
spring Cache + Redis 开发数据字典以及自定义标签
查看>>
成功连上数据库顿感世界美好许多
查看>>
编程注意2
查看>>
《C++ Primer Plus》第12章 类和动态内存分配 学习笔记
查看>>
kosaraju求强连通分量
查看>>
golang里面检测对象是否实现了接口的方法
查看>>
freeswitch编译
查看>>
Validate Binary Search Tree
查看>>
Largest Divisible Subset
查看>>
win8改win7笔记
查看>>
MYSQL 数据导入导出LOAD DATA AND OUTFILE
查看>>
mysql中两表更新时产生的奇葩问题,产生死锁!
查看>>