Windows Socket 编程:TCP服务器端

#include <stdio.h>

#include <stdlib.h>

#include <winsock2.h>

int main(int argc,char* argv[])

{

int szClntAddr;

char message[] = "hello szt!~\n";

WSADATA wsaData;

SOCKET hServSock,hClntSock;

SOCKADDR_IN servAddr,clntAddr;

WSAStartup(MAKEWORD(2,2),&wsaData);

hServSock = socket(PF_INET,SOCK_STREAM,0);

memset(&servAddr,0,sizeof(servAddr));

servAddr.sin_family = AF_INET;

servAddr.sin_addr.s_addr = htonl(INADDR_ANY);

servAddr.sin_port = htons(atoi(argv[1]));

bind(hServSock,(SOCKADDR *)&servAddr,sizeof(servAddr));

listen(hServSock,5);

szClntAddr = sizeof(clntAddr);

hClntSock = accept(hServSock,(SOCKADDR *)&clntAddr,&szClntAddr);

send(hClntSock,message,sizeof(message),0);

closesocket(hServSock);

closesocket(hClntSock);

WSACleanup();

return 0;

}

时间: 2024-11-10 00:59:58

Windows Socket 编程:TCP服务器端的相关文章

Windows Socket编程示例-TCP示例程序

前面一部分是介绍,后面有示例 1.网络中进程之间如何通信? 首要解决的问题是如何唯一标识一个进程,否则通信无从谈起!在本地可以通过进程PID来唯一标识一个进程,但是在网络中这是行不通的.其实TCP/IP协议族已经帮我们解决了这个问题,网络层的"ip地址"可以唯一标识网络中的主机,而传输层的"协议+端口"可以唯一标识主机中的应用程序(进程).这样利用三元组(ip地址,协议,端口)就可以标识网络的进程了,网络中的进程通信就可以利用这个标志与其它进程进行交互. 使用TCP

Windows Socket编程--ip地址转换

在Windows Socket编程中,需要将ip地址在网络字节顺序与主机字节顺序之间进行转换,该过程的代码如下: 1 #include <Winsock2.h> 2 #include <Ws2tcpip.h> //为了使用inet_pton()和inet_ntop()函数 3 #include <iostream> 4 5 #pragma comment(lib,"ws2_32.lib") //socket编程需要引用该库 6 7 using std

【windows socket编程+服务器客户端】

Windows Socket编程与服务器客户端示例 Winsock是 Windows下套接字标准. Socket套接字基于计算机网络,提供同一系统上不同进程或由局域网连接在一起的不同机器上的进程间通讯功能.如下图: 套接字通过IP地址,Port端口号标识,通过这个标识可以在整个局域网定位一个套接字,通过套接字进程便可以相互传输数据.如:进程A与进程B之间欲通过套接字通信,首先进程A创建一个有IP地址,端口号唯一标识的套接字,进程B同样创建一个有IP地址,端口号唯一标识的套接字,进程A,B便可以通

Windows Socket 编程_单个服务器对多个客户端简单通讯

单个服务器对多个客户端程序: 一.简要说明 二.查看效果 三.编写思路 四.程序源代码 五.存在问题 一.简要说明: 程序名为:TcpSocketOneServerToMulClient 程序功能:实现单个服务器对多个客户端通讯功能的小程序. PS: 这是继上次简单的 Tcp Windows Socket 编程后的再一程序,程序实现依然不是很严谨,还待完善~ 二.查看效果: 三.编写思路: 由上一次的程序思路来看,如果想实现单个服务器对多个客户端程序的通讯的话,这次程序编写尝试从多线程的角度来考

python socket编程 TCP

python socket编程 TCP by wuxy server.py import socket import commands BUF_SIZE = 1024 server_addr = ('127.0.0.1',8888) server = socket.socket(socket.AF_INET,socket.SOCK_STREAM) server.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) server.bind(se

socket编程——TCP

上篇文章中对一些函数有了详细的介绍,本篇使用这些函数来实现基于TCP的socket编程 服务器程序端: #include <iostream> #include <unistd.h> #include <stdlib.h>                                                              #include <errno.h> #include <string> #include <st

Windows socket c++ TCP UDP 简单客户端 vs2013

socket 主要是网络中进程之间的通信,起源于Unix,而"一切皆可文件"的思想一样可以用在socket上,即 打开 -> 读写 -> 关闭. int socket(int domain, int type, int protocol):(服务端 & 客户端) socket函数对应于普通文件的打开操作.普通文件的打开操作返回一个文件描述字,而socket()用于创建一个socket描述符(socket descriptor),它唯一标识一个socket. 这个so

网络编程(windows socket编程)

TCP服务器端代码: 1 // TcpSrv.cpp: 定义控制台应用程序的入口点. 2 // 3 4 #include "stdafx.h" 5 #include<Windows.h> 6 #pragma comment(lib,"ws2_32.lib") 7 8 int main() 9 { 10 //************加载套接字库***************** 11 WORD wVersionRequested; 12 WSADATA w

Socket编程(TCP/UDP) - 初学(C语言)

Socket socket函数 TCP代码实现 TCP Server TCP Client UDP代码实现 UDP Server UDP Client Socket 先介绍一下socket的启动过程: 根据连接启动的方式以及本地套接字要连接的目标,套接字之间的连接过程可以分为三个步骤:服务器监听,客户端请求,连接确认. (1)服务器监听:是服务器端套接字并不定位具体的客户端套接字,而是处于等待连接的状态,实时监控网络状态. (2)客户端请求:是指由客户端的套接字提出连接请求,要连接的目标是服务器