服务器端:
#include <stdio.h>
#include <Winsock2.h>
int main() {
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1);
err = WSAStartup(wVersionRequested, &wsaData);
if(err != 0) {
return;
}
if(LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1) {
WSACleanup();
return;
}
// 创建用于监听的套接字
SOCKET sockSrv = socket(AF_INET, SOCK_STREAM,0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = htonl(INADDR_ANY);
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6000);
// 绑定套接字
bind(sockSrv, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));
// 将套接字设为监听模式,准备接收客户请求
listen(sockSrv, 5);
SOCKADDR_IN addrClient;
int len = sizeof(SOCKADDR);
while(1) {
// 等待客户请求到来
SOCKET sockConn = accept(sockSrv, (SOCKADDR*)&addrClient, &len);
char sendBuf[100];
// 将字符串写入sendBuf中
sprintf(sendBuf, "Wellcome %s to http://www.sunxin.org", inet_ntoa(addrClient.sin_addr));
// 发送数据
send(sockConn, sendBuf, strlen(sendBuf)+1, 0);
char recvBuf[100];
// 接受数据
recv(sockConn, recvBuf, 100, 0);
// 打印接收的数据
printf("%s\n", recvBuf);
// 关闭套接字
closesocket(sockConn);
}
}
客户端:#include <stdio.h>
#include <Winsock2.h>
int main() {
// 加载套接字库
WORD wVersionRequested;
WSADATA wsaData;
int err;
wVersionRequested = MAKEWORD(1,1);
err = WSAStartup(wVersionRequested, &wsaData);
if(err != 0) {
return -1;
}
if(LOBYTE(wsaData.wVersion) != 1 || HIBYTE(wsaData.wVersion) != 1) {
WSACleanup();
return -2;
}
// 创建套接字
SOCKET sockClient = socket(AF_INET, SOCK_STREAM, 0);
SOCKADDR_IN addrSrv;
addrSrv.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");
addrSrv.sin_family = AF_INET;
addrSrv.sin_port = htons(6000);
// 向服务器发出连接请求
connect(sockClient, (SOCKADDR*)&addrSrv, sizeof(SOCKADDR));
// 接收数据
char recvBuf[100];
recv(sockClient, recvBuf, 100, 0);
printf("%s\n", recvBuf);
// 发出数据
send(sockClient, "This is lisi", strlen("This is lisi")+1, 0);
// 关闭套接字
closesocket(sockClient);
WSACleanup();
getchar();
return 0;
}
分享到:
相关推荐
本文将深入探讨基于WinSocket的TCP聊天小工具的实现,包括客户端与服务器的交互、好友列表的实时更新以及字符串处理等关键技术。 首先,TCP(Transmission Control Protocol)是一种面向连接的、可靠的传输协议,它...
在IT行业中,网络编程是至关重要的领域,而...总的来说,“WinSocket_TCP.rar”提供的示例是学习和掌握TCP网络编程的一个有效途径,它可以帮助开发者更好地理解和运用WinSocket API,为构建基于TCP的应用打下坚实基础。
下面我们将深入探讨如何使用WinSocket API在IPv6环境下实现TCP服务器。 首先,我们需要了解WinSocket的基本概念。WinSocket是Microsoft Windows操作系统中对Berkeley Sockets接口的实现,它为开发者提供了一种标准...
3. **TCP/IP协议栈**:聊天程序通常基于TCP协议,因为它提供可靠的、面向连接的数据传输。TCP协议确保数据的顺序传输和错误检测,通过三次握手建立连接,四次挥手关闭连接。 4. **网络地址和端口号**:每个通信的套...
Visual C++作为一个强大的开发环境,可以用来实现基于WinSocket的TCP通信程序。本教程将深入探讨如何使用Visual C++调用WinSocket API来创建TCP客户端和服务器的通信程序。 首先,我们来看`Client和Server通讯程序....
本文将深入探讨TCP-Socket编程,特别是基于Windows平台的WinSocket API,以及如何使用TCP模式进行实际应用。 TCP是一种面向连接的、可靠的传输协议,它通过三次握手建立连接,并使用确认机制确保数据的正确传输。...
标题 "PB9+TCP/ip通讯服务利用winSocket的例子...了解这些基础知识对于理解和实现基于PB9和winSocket的TCP/IP通信至关重要。通过这个示例项目,开发者不仅可以学习到具体的编程技巧,还能深入理解网络通信的基本原理。
Winsock是Windows操作系统中的一个API,用于实现TCP/IP协议栈。它为开发者提供了在Windows上编写网络应用程序的能力,支持多种网络协议,如TCP、UDP等。在"TCP通信-使用winsocket"的例子中,开发者将使用Winsock库...
在实际的编程实例中,`第16章 WinSocket编程`可能包含了以上这些步骤的代码实现,包括服务器端的启动、监听、接受连接,以及客户端的连接、发送数据和接收数据。通过阅读和分析这个实例,你可以更好地理解和掌握...
在基于对话框的应用程序中,我们将Winsocket功能集成到对话框类中。可以创建一个成员变量来存储socket句柄,并在对话框初始化时设置和启动Winsocket服务。接下来,我们需要绑定socket到特定的IP地址和端口,使用`...
总的来说,这个基于Winsocket的文件传输源程序结合了网络编程和图形用户界面设计,实现了高效、可靠的文件交换功能。开发者可以通过学习和理解这个项目,提升在网络通信和MFC应用开发方面的技能。
TCP是基于连接的,它确保数据的有序和无损传输。在TCP连接建立之前,客户端和服务器需要进行三次握手,确保双方都可以通信。一旦连接建立,客户端就可以向服务器发送数据包,并且服务器可以回应。TCP还提供了流量...
2. **Winsocket**:这是实现TCP连接和数据传输的接口。 3. **vc++6.0**:这是一个较旧但仍然被广泛使用的C++集成开发环境,用于编译和调试程序。 4. **文件传输**:程序的核心功能,涉及到文件I/O操作、网络流的...
通过Winsocket,开发者可以创建能够发送和接收数据的网络应用程序,无论是基于TCP(传输控制协议)还是UDP(用户数据报协议)。 在描述中提到的程序包含两个主要部分:Server端和Client端。Server端通常负责监听...
在本文档中,我们探讨了如何使用C#上位机通过SOCKET实现与PLC服务器的TCP通信。首先,我们了解了所需的测试环境,包括TIA PORTAL V15.1S7-PLCSIM ADVANCED V3.0用于PLC仿真和Visual Studio 2019用于编写C#应用程序。...
【标题】"基于TCP的聊天室C++代码"是一份实现简单网络聊天功能的编程项目,主要使用C++语言,并基于TCP协议进行通信。TCP(Transmission Control Protocol)是一种面向连接的、可靠的、基于字节流的传输层通信协议,...
【标题】:“基于Winsock的聊天室” 在计算机科学领域,网络编程是连接不同设备进行通信的核心技术之一。本文将详细讲解如何使用Windows Socket(通常称为Winsock)库来创建一个简单的聊天室,这对于网络编程初学者...
总的来说,基于TCP/IP协议的多线程聊天程序涉及网络通信基础、多线程编程技巧、WINSOCKET接口使用,以及TCP连接管理和数据交换策略。通过这样的程序设计,可以构建出稳定、高效的网络聊天环境。
在IT行业中,网络编程是构建分布式系统和互联网应用的基础,而WinSocket是Windows平台上实现TCP/IP网络通信的主要接口。本教程将深入探讨WinSocket的高级实现,特别关注如何利用WinSocket来创建一个网络聊天室。我们...