网络程序设计--TCP通信(服务器端)
来源:互联网 发布:大数据挖掘工程师 编辑:程序博客网 时间:2024/05/29 17:54
代码中包含自己头文件见:
http://blog.csdn.net/jianxia_wzx/article/details/8515585
//////////////////////////////////////////////////// TCPServer.cpp文件#include "../common/InitSock.h"#include <stdio.h>CInitSock initSock;// 初始化Winsock库int main(){// 创建套节字SOCKET sListen = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if(sListen == INVALID_SOCKET){printf("Failed socket() \n");return 0;}// 填充sockaddr_in结构sockaddr_in sin;sin.sin_family = AF_INET;sin.sin_port = htons(4567);sin.sin_addr.S_un.S_addr = INADDR_ANY;// 绑定这个套节字到一个本地地址if(::bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR){printf("Failed bind() \n");return 0;}// 进入监听模式if(::listen(sListen, 2) == SOCKET_ERROR){printf("Failed listen() \n");return 0;}// 循环接受客户的连接请求sockaddr_in remoteAddr; int nAddrLen = sizeof(remoteAddr);SOCKET sClient;char szText[] = " TCP Server Demo! \r\n";while(TRUE){// 接受一个新连接sClient = ::accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);if(sClient == INVALID_SOCKET){printf("Failed accept()");continue;}printf(" 接受到一个连接:%s \r\n", inet_ntoa(remoteAddr.sin_addr));// 向客户端发送数据::send(sClient, szText, strlen(szText), 0);// 关闭同客户端的连接::closesocket(sClient);}// 关闭监听套节字::closesocket(sListen);return 0;}
- 网络程序设计--TCP通信(服务器端)
- 网络程序设计--TCP通信(客户端)
- 网络程序设计--UDP通信(服务器)
- 网络程序设计--UDP通信(客户端)
- TCP网络程序设计
- TCP网络程序设计
- tcp 通信 服务器端
- 基于TCP网络程序设计(客户机/服务器模式的通信)
- Qt TCP通信,多线程服务器端
- TCP通信中,服务器端实现方式(SELECT)
- TCP通信中,服务器端实现方式(SELECT)
- TCP/UDP网络程序设计
- 14、TCP网络程序设计
- 2-23 TCP网络程序设计
- Visual C#.Net网络程序设计-Tcp篇(2)
- Visual C#.Net网络程序设计-Tcp篇(3)
- Visual C#.Net网络程序设计-Tcp篇(1)
- TCP网络通信服务器端简单示例
- 单源点最短路径
- 连接池技术
- Linux的/proc目录
- 网络程序设计--网络对时
- Java中日期格式的转换问题
- 网络程序设计--TCP通信(服务器端)
- 排序专题(三) / 稳定的内部排序 / 递归的2-路归并排序
- mahout 推荐系统示例
- 网络程序设计--TCP通信(客户端)
- Verify the existence of the above class
- 网络程序设计--UDP通信(服务器)
- 网络程序设计--UDP通信(客户端)
- [HBase] HBase Block Cache实现机制分析
- QT 隐式共享 Implicit Sharing