`

简单TCP服务器端和客户端(源代码)

阅读更多
//客户端:
#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();
} 

 

 

//服务端:
#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();
} 
 

 

 

分享到:
评论

相关推荐

    C#远程控制服务器端和客户端源代码

    标题中的"服务器端和客户端源代码"表明,这个压缩包中包含了实现远程控制服务端和客户端的全部源代码。开发者可以通过阅读和分析这些代码,学习如何构建一个完整的远程控制系统。通常,服务器端会包含监听和管理...

    TCP服务器端和客户端收发测试程序(亲测有效)

    TCP服务器端和客户端之间的收发测试是理解TCP通信机制的基础实践。以下将详细介绍TCP服务器端和客户端的基本概念、工作原理以及如何进行收发测试。 TCP服务器端: 1. 服务器端首先需要监听特定的端口,等待客户端的...

    C#TCP-IP服务器和客户端源代码.rar

    本资源"**C# TCP-IP服务器和客户端源代码.rar**"就是针对C#新手设计的一套完整示例,帮助开发者理解和实现简单的TCP/IP通信。 首先,让我们深入了解TCP/IP协议。TCP/IP由四层模型组成:应用层、传输层、网络层和...

    TCP服务器与客户端源代码工程

    本项目名为"TCP服务器与客户端源代码工程",主要关注如何使用编程语言实现TCP通信的两端——服务器端(Server)和客户端(Client)。这里我们将深入探讨TCP协议、服务器与客户端的工作原理,以及如何在实际项目中...

    tcp通信服务器和客户端c++最简源码

    首先,我们来看`TcpServer`文件,这是实现TCP服务器的部分。服务器的核心任务是监听特定端口,等待客户端的连接请求。在C++ MFC中,通常会使用`CSocket`类来处理网络通信。服务器首先创建一个`CSocket`对象,并调用`...

    基于winsock TCP的服务器端和客户端演示

    在压缩包中的"winsocket"文件可能包含了服务器端和客户端的源代码,你可以通过阅读和运行这些代码来更好地理解TCP通信的流程。此外,理解错误处理和异常处理也是很重要的,因为网络通信中经常会出现各种不可预知的...

    VC下的tcp多人网络聊天程序的源码,包括服务器端源代码和客户端源代码

    在本文中,我们将深入探讨基于VC++的TCP多人网络聊天程序的实现,涵盖服务器端和客户端的源代码分析。TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,是互联网协议栈...

    Tcp通信服务器端和客户端

    首先,TCP服务器端是接收客户端连接并处理请求的程序。在TCP连接的三次握手过程中,服务器监听特定端口,等待客户端发起连接请求。一旦收到请求,服务器会发送确认,建立连接。然后,服务器可以读取客户端发送的数据...

    C#文件传输(客户端、服务器端) 源代码

    首先,我们来理解客户端和服务器端的概念。在文件传输场景中,服务器端通常是一个运行在特定计算机上的程序,等待接收来自客户端的连接请求,并处理文件传输请求。客户端则是用户操作的程序,用于发起连接并发送或...

    用TCP/IP服务器客户端通讯源代码(77KB)

    源代码通常包括两部分:服务器端和客户端。服务器端监听特定端口,等待客户端的连接请求。一旦连接建立,它就能接收和发送数据。客户端则需要知道服务器的IP地址和端口号,发起连接请求,并在连接成功后与服务器交换...

    TCP服务器端源代码

    TCP服务器端源代码是计算机网络编程中的一个重要组成部分,主要用于接收并处理来自客户端的TCP连接请求。这个源代码示例可能是基于C或C++语言编写,因为这两...配合TCP客户端源代码,可以实现完整的客户端-服务器通信。

    Socket编程-即时通讯工具-基于TCP和UDP协议-包括服务器端和客户端

    工具包括服务器端和客户端; 具备用户注册、登录、找回密码功能(基于TCP协议); 两个用户如果同时在线,采用点到点通信方式进行聊天,信息不需要通过服务器中转,服务器也不保存(基于TCP协议); 支持离线消息...

    w5500模块客户端服务器源代码

    本篇将深入探讨W5500模块在构建TCP服务器和客户端中的应用,并结合51单片机和STM32微控制器的源代码进行解析。 一、W5500模块简介 W5500的核心特性在于其内置的硬核TCP/IP处理器,这使得它可以快速高效地处理网络...

    QT小程序-TCP服务器端与客户端连接

    QT小程序-TCP服务器端与客户端连接是网络编程领域的一个重要话题,主要涉及到使用QT库创建TCP服务器和客户端,实现两者的通信。QT是Qt Company开发的一款跨平台的应用程序开发框架,广泛应用于桌面、移动和嵌入式...

    TCP c语言 服务器客户端代码

    本文将深入探讨如何使用C语言编写TCP服务器和客户端的代码。 首先,让我们了解TCP的基本概念。TCP是一种面向连接的协议,它在数据传输前会先建立连接,保证数据的可靠传输。TCP通过三次握手建立连接,通过四次挥手...

    2个 C#编写的TCP程序 TCP服务器端客户端例程

    首先,我们来看`TcpCSFramework.cs`,这是一个TCP服务器端的实现。在C#中,我们可以使用`System.Net.Sockets.TcpListener`类来创建一个TCP服务器。这个类提供了监听特定端口并接受客户端连接的能力。服务器端的核心...

    基于android的手机监控系统客户端源代码和服务器端

    在这个项目中,客户端源代码可能包含以下关键组件: 1. **视频流处理**:客户端通过JMF来接收并解码服务器端发送的视频流。JMF是一个开源的Java多媒体框架,能够处理音频、视频的捕获、播放和传输。 2. **网络通信...

    QT 多线程TCP服务器与客户端

    本文将深入探讨如何利用QT库,特别是QT5.11.1版本,来构建多线程的TCP服务器和客户端,以及QThread在其中的作用。 首先,让我们了解TCP(传输控制协议)。TCP是一种面向连接的、可靠的、基于字节流的传输层通信协议...

    C#远程监控客户端和服务器端源代码及程序

    `ClientFast.zip`和`ClientFast`、`ClientFast1`可能分别表示不同版本或配置的客户端源代码或可执行文件。客户端通常负责发送请求给服务器,接收并处理服务器返回的数据。在C#中,客户端的实现也会利用`System.Net....

    MFC写的TCP服务器和客户端

    本篇将深入探讨如何使用C++和MFC实现TCP服务器和客户端,以及它们之间的通信过程。 一、TCP服务器创建 在MFC环境中,创建TCP服务器的关键在于使用Winsock API。首先,需要在项目中包含必要的头文件`winsock2.h`和`...

Global site tag (gtag.js) - Google Analytics