网络程序设计--TCP通信(服务器端)
2013-03-11 17:17
127 查看
代码中包含自己头文件见:
/article/1501754.html
/article/1501754.html
////////////////////////////////////////////////// // 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; }
相关文章推荐
- [Linux网络编程]TCP编程--TCP通信程序服务器端
- 基于TCP网络通信程序设计
- 网络基础学习笔记一------TCP通信之服务器端
- 网络程序设计--TCP通信(客户端)
- TCP网络通信服务器端简单示例
- 基于TCP网络程序设计(客户机/服务器模式的通信)
- VB.net 2005实现TCP网络通信例程(.net VS2005)源码
- 网络编程之TCP通信
- TCP服务器端和客户端程序设计【转】
- JAVA网络编程叶存菜鸟TCP程序设计笔记echo程序经典案列
- 网络通信 --> Socket、TCP/IP、HTTP、FTP及网络编程
- QT 简单的网络通信(tcp ,udp)
- TCP/IP通信程序设计 关于长连接和短连接
- TCP通信多线程网络聊天程序
- java通过Socket实现TCP网络通信
- linux下串口转TCP网络通信
- C#网络编程.2.套接字.TcpListener.TcpClient.服务端客户端通信
- android的Tcp网络通信
- Java基础—网络编程【OSI/RM TCP/IP】【网络通信三要素】【UDP传输 & TCP传输】【DNS域名解析】
- [javaSE] 网络编程(TCP通信)