TCP网络编程
2016-07-22 17:25
459 查看
1、TCP服务器端:
2、TCP客户端:
#include <winsock2.h> //包含头文件 #include <stdio.h> #include <windows.h> #pragma comment(lib,"WS2_32.lib") //显示连接套接字库 int main() { WSADATA data; //定义WSADATA结构体变量 WORD w=MAKEWORD(2,0); //定义版本号码 char sever_text[]="welcome\r\n"; //发送给客户端的缓存字符 ::WSAStartup(w,&data); //初始化套接字库 SOCKET sever_socket,session_socket; //定义绑定、监听套接字库,以及会话套接字库 sever_socket=::socket(AF_INET,SOCK_STREAM,0); //创建TCP套接字 sockaddr_in sever_addr,session_addr; //定义套接字地址结构 int sizeof_session_addr=sizeof(session_addr); //会话套接字长度 sever_addr.sin_family=AF_INET; //初始化地址结构TCP sever_addr.sin_port=htons(75); //端口号为75 sever_addr.sin_addr.S_un.S_addr=INADDR_ANY; //任意客户端均可连接 ::bind(sever_socket,(sockaddr*)&sever_addr,sizeof(sever_addr)); //绑定服务器端套接字 ::listen(sever_socket,5); //监听套接字 printf("服务器启动\r\n"); //服务器启动,等待客户端连接 while(true) //不断等待客户端连接 { session_socket=::accept(sever_socket,(sockaddr*)&session_addr,&sizeof_session_addr); //客户端连接自动开启accept函数, //获取连接方的地址 //并创建一个新的会话套接字 if(session_socket!=NULL) { printf("%s已经连接上!\r\n",inet_ntoa(session_addr.sin_addr)); ::send(session_socket,sever_text,sizeof(sever_text),0); } ::closesocket(sever_socket); ::closesocket(session_socket); ::WSACleanup(); if (getchar()) { return 0; } else { ::Sleep(100); } } }
2、TCP客户端:
#include <WINSOCK2.H> #include <STDIO.H> #include <WINDOWS.H> #pragma comment(lib,"WS2_32.lib") int main() { WSADATA data; WORD w=MAKEWORD(2,0); ::WSAStartup(w,&data); SOCKET client_socket; char client_text[10]={0}; client_socket=::socket(AF_INET,SOCK_STREAM,0); sockaddr_in client_addr; client_addr.sin_family=AF_INET; client_addr.sin_port=htons(75); client_addr.sin_addr.S_un.S_addr=inet_addr("127.0.0.1"); printf("客户端已经启动!\r\n"); ::connect(client_socket,(sockaddr*)&client_addr,sizeof(client_addr)); ::recv(client_socket,client_text,sizeof(client_text),0); printf("%s\r\n",client_text); ::closesocket(client_socket); ::WSACleanup(); if(getchar()) { return 0; } else { ::Sleep(100); } }
相关文章推荐
- 小心服务器内存居高不下的元凶--WebAPI服务
- 运维入门
- 利用开源软件打造自己的全功能远程工具
- Linux5.9无人值守安装
- 数据中心和云未来的十二大趋势
- 虚拟化基础架构Windows 2008篇之11-WSUS服务器的安装与配置
- 用vsftp快速搭建ftp服务器
- Linux快速构建apache web服务器
- 服务器监控策略浅谈
- 如何降低服务器采购成本 原理分析
- 建议的服务器分区办法
- 服务器托管六大优势分析
- Erlang实现的一个Web服务器代码实例
- 服务器技术全面解析
- 保护DNS服务器的几点方法小结
- 我国成为全球第二大服务器消费国
- 服务器 安全检查要点[星外提供]
- 服务器应用自动重新启动IIS批处理[原创]_DOS/BAT_脚本之家
- FTP 服务器关于权限的问题