简单TCP服务器端和客户端(源代码)
2012-05-17 17:34
295 查看
http://andylin02.iteye.com/blog/460742
博客分类:
一亩三分地
SocketWindows
Cpp代码
![](http://andylin02.iteye.com/images/icon_star.png)
//客户端:
Cpp代码
![](http://andylin02.iteye.com/images/icon_star.png)
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
int main()
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2, 2);
SOCKET sock = 0;
if (WSAStartup(sockVersion, &wsaData) != 0)
{
cout << "initlization failed!" << endl;
exit(0);
}
sock = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == INVALID_SOCKET)
{
cout << "failed socket!" << endl;
return 0;
}
sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(4567);
sin.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
if (connect(sock, (sockaddr*)&sin, sizeof(sockaddr)) == -1)
{
cout << "connect failed!" << endl;
return 0;
}
char buffer[256] = "\0";
int nRecv = 0;
nRecv = recv(sock, buffer, 256, 0);
if (nRecv > 0)
{
buffer[nRecv] = '\0';
cout << "reveive data: " << buffer << endl;
}
closesocket(sock);
WSACleanup();
}
//服务端:
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
int main()
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2, 2);
SOCKET sListen = 0;
sockaddr_in sin = {0};
sockaddr_in remoteAddr = {0};
char szText[] = "TCP Server Demo";
int nAddrLen = 0;
nAddrLen = sizeof(sockaddr_in);
//fill sin
sin.sin_port = htons(4567);
sin.sin_family = AF_INET;
sin.sin_addr.S_un.S_addr = INADDR_ANY;
//init wsa
if (WSAStartup(sockVersion, &wsaData) != 0)
{
cout << "initlization failed!" << endl;
exit(0);
}
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR)
{
cout << "bind failed!" << endl;
return 0;
}
if (listen(sListen, 2) == SOCKET_ERROR)
{
cout << "listen failed!" << endl;
return 0;
}
SOCKET sClient = INADDR_ANY;
while (true)
{
sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);
if (sClient == INVALID_SOCKET)
{
cout << "accept failed!" << endl;
continue;
}
send(sClient, szText, strlen(szText), 0);
closesocket(sClient);
}
closesocket(sListen);
WSACleanup();
}
Cpp代码
![](http://andylin02.iteye.com/images/icon_star.png)
//服务端:
Cpp代码
![](http://andylin02.iteye.com/images/icon_star.png)
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
int main()
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2, 2);
SOCKET sListen = 0;
sockaddr_in sin = {0};
sockaddr_in remoteAddr = {0};
char szText[] = "TCP Server Demo";
int nAddrLen = 0;
nAddrLen = sizeof(sockaddr_in);
//fill sin
sin.sin_port = htons(4567);
sin.sin_family = AF_INET;
sin.sin_addr.S_un.S_addr = INADDR_ANY;
//init wsa
if (WSAStartup(sockVersion, &wsaData) != 0)
{
cout << "initlization failed!" << endl;
exit(0);
}
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR)
{
cout << "bind failed!" << endl;
return 0;
}
if (listen(sListen, 2) == SOCKET_ERROR)
{
cout << "listen failed!" << endl;
return 0;
}
SOCKET sClient = INADDR_ANY;
while (true)
{
sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);
if (sClient == INVALID_SOCKET)
{
cout << "accept failed!" << endl;
continue;
}
send(sClient, szText, strlen(szText), 0);
closesocket(sClient);
}
closesocket(sListen);
WSACleanup();
}
简单TCP服务器端和客户端(源代码)
博客分类: 一亩三分地
SocketWindows
Cpp代码
![](http://andylin02.iteye.com/images/icon_star.png)
//客户端:
Cpp代码
![](http://andylin02.iteye.com/images/icon_star.png)
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
int main()
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2, 2);
SOCKET sock = 0;
if (WSAStartup(sockVersion, &wsaData) != 0)
{
cout << "initlization failed!" << endl;
exit(0);
}
sock = ::socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (sock == INVALID_SOCKET)
{
cout << "failed socket!" << endl;
return 0;
}
sockaddr_in sin;
sin.sin_family = AF_INET;
sin.sin_port = htons(4567);
sin.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
if (connect(sock, (sockaddr*)&sin, sizeof(sockaddr)) == -1)
{
cout << "connect failed!" << endl;
return 0;
}
char buffer[256] = "\0";
int nRecv = 0;
nRecv = recv(sock, buffer, 256, 0);
if (nRecv > 0)
{
buffer[nRecv] = '\0';
cout << "reveive data: " << buffer << endl;
}
closesocket(sock);
WSACleanup();
}
//服务端:
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
int main()
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2, 2);
SOCKET sListen = 0;
sockaddr_in sin = {0};
sockaddr_in remoteAddr = {0};
char szText[] = "TCP Server Demo";
int nAddrLen = 0;
nAddrLen = sizeof(sockaddr_in);
//fill sin
sin.sin_port = htons(4567);
sin.sin_family = AF_INET;
sin.sin_addr.S_un.S_addr = INADDR_ANY;
//init wsa
if (WSAStartup(sockVersion, &wsaData) != 0)
{
cout << "initlization failed!" << endl;
exit(0);
}
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR)
{
cout << "bind failed!" << endl;
return 0;
}
if (listen(sListen, 2) == SOCKET_ERROR)
{
cout << "listen failed!" << endl;
return 0;
}
SOCKET sClient = INADDR_ANY;
while (true)
{
sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);
if (sClient == INVALID_SOCKET)
{
cout << "accept failed!" << endl;
continue;
}
send(sClient, szText, strlen(szText), 0);
closesocket(sClient);
}
closesocket(sListen);
WSACleanup();
}
Cpp代码
![](http://andylin02.iteye.com/images/icon_star.png)
//服务端:
Cpp代码
![](http://andylin02.iteye.com/images/icon_star.png)
#include <iostream>
#include <stdio.h>
#include <windows.h>
using namespace std;
#pragma comment(lib, "WS2_32.lib")
int main()
{
WSADATA wsaData;
WORD sockVersion = MAKEWORD(2, 2);
SOCKET sListen = 0;
sockaddr_in sin = {0};
sockaddr_in remoteAddr = {0};
char szText[] = "TCP Server Demo";
int nAddrLen = 0;
nAddrLen = sizeof(sockaddr_in);
//fill sin
sin.sin_port = htons(4567);
sin.sin_family = AF_INET;
sin.sin_addr.S_un.S_addr = INADDR_ANY;
//init wsa
if (WSAStartup(sockVersion, &wsaData) != 0)
{
cout << "initlization failed!" << endl;
exit(0);
}
sListen = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
if (bind(sListen, (LPSOCKADDR)&sin, sizeof(sin)) == SOCKET_ERROR)
{
cout << "bind failed!" << endl;
return 0;
}
if (listen(sListen, 2) == SOCKET_ERROR)
{
cout << "listen failed!" << endl;
return 0;
}
SOCKET sClient = INADDR_ANY;
while (true)
{
sClient = accept(sListen, (SOCKADDR*)&remoteAddr, &nAddrLen);
if (sClient == INVALID_SOCKET)
{
cout << "accept failed!" << endl;
continue;
}
send(sClient, szText, strlen(szText), 0);
closesocket(sClient);
}
closesocket(sListen);
WSACleanup();
}
相关文章推荐
- 简单TCP服务器端和客户端(源代码)
- nodejs中一个简单的TCP服务器端和客户端的聊天服务器
- 简单UDP服务器端和客户端(源代码)
- nodejs简单实现TCP服务器端和客户端的聊天功能示例
- C++ 简单的 Tcp 实现[socket] 服务器端与客户端通信
- 基于C#的socket编程的TCP异步实现 ,包含服务器端与客户端源代码
- 2017.8.22 用python实现简单基于TCP/IP的客户端与服务器端
- C++ 简单的 Tcp 实现[socket] 服务器端与客户端通信
- Tcp实现客户端和服务器端的简单互访
- Linux基于TCP/IP简单的客户端、服务器通信程序实例
- 开源流媒体处理库live555服务器端、客户端源代码分析总结
- 命名管道客户端及服务器端简单代码示例
- 一个简单的可以接收TCP客户端数据的TCP服务器
- C++基于TCP/IP简单的客户端、服务器通信程序实例
- Socket——实现简单的一对一服务器端与客户端聊天功能
- c#中异步基于消息通信的完成端口的TCP-IP协议的组件实现(服务器端-源代码)
- 一个简单的Tcp客户端
- 关于Python基于TCP的服务器端和客户端编程
- windows网络编程(八)——重叠I/O+多线程实现简单的聊天(windows服务器端 windows客户端)
- [JAVA] Tcp客户端和服务器简单代码