socket编程server端

 1 #include<stdlib.h>
 2 #include<string.h>
 3 #include<stdio.h>
 4 #include<sys/socket.h>
 5 #include<arpa/inet.h>
 6 #include<sys/types.h>
 7 #include<netinet/in.h>
 8 #define SERVER_PORT 8000
 9 int main()
10 {
11     struct sockaddr_in serveraddr,clientaddr;
12     //1,socket()
13     //2,bind()
14     //3,listen()
15     //4,accept()
16     char ipstr[128];
17     int sockfd,addrlen,confd;
18     sockfd=socket(AF_INET,SOCK_STREAM,0);
19
20     bzero(&serveraddr,sizeof(serveraddr));
21     serveraddr.sin_family=AF_INET;
22     serveraddr.sin_addr.s_addr=htonl(INADDR_ANY);
23     serveraddr.sin_port=htons(SERVER_PORT);
24
25     bind(sockfd,(struct sockaddr *)&serveraddr,sizeof(serveraddr));
26
27     listen(sockfd,128);
28     while(1){
29     addrlen=sizeof(clientaddr);
30     confd=accept(sockfd,(struct sockaddr *)&clientaddr,&addrlen);
31
32     printf("client ip %s\t port %d\n",inet_ntop(AF_INET,&clientaddr.sin_addr.s_addr,ipstr,sizeof(ipstr)),ntohs(clientaddr.sin_port));
33
34     //connet with client
35     close(confd);
36     }
37
38     close(sockfd);
39
40     return 0;
41 }
时间: 2024-12-23 13:29:18

socket编程server端的相关文章

linux openssl 编程 Server端

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法.常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用. 直接进行编程步骤: 1.首先确保电脑端拥有openssl库,我这采用的方式是直接使用源码,然后进行编译,编译方式可以参考以下链接地址: http://www.wangyan.org/blog/install-openssl-from-source.html 2.Server端源码: openssl_server.c #include <stdi

C#版 Winform界面 Socket编程 Server服务器端

using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.IO; using System.Linq; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using Sys

【Linux编程】socket编程

套接字是通信端点的抽象.文件描写叙述符用open函数创建,而套接字描写叙述符用socket函数创建.socket函数原型例如以下: int socket(int domain, int type, int protocol); // 返回值:成功返回套接字描写叙述符,失败返回-1 domain域确定通信特性.不同的域表示地址的格式不同,表示域的常数以AF开头.表示地址族(address family): watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvb

python Socket编程-python API 与 Linux Socket API之间的关系

python socket编程 服务端 #!/usr/bin/env python # coding=utf-8 from socket import * HOST = '' PORT = 2345 BUFSIZE = 1024 ADDR = (HOST,PORT) #创建AF_INET地址族,TCP的套接字 with socket(AF_INET,SOCK_STREAM) as tcpSerSock: #绑定ip和端口 tcpSerSock.bind(ADDR) #监听端口,是否有请求 tcp

winsock2之最简单的win socket编程

原文:winsock2之最简单的win socket编程 server.cpp #include <WINSOCK2.H> #include <stdio.h> #pragma comment(lib,"ws2_32.lib") int main(int argc,char **argv) { //创建套接字 WORD myVersionRequest; WSADATA wsaData; myVersionRequest=MAKEWORD(1,1); int e

Socket编程】使用C++实现Server端和Client端

我是在Visual Stdio 2013上建立了两个工程,分别编译运行下面的两个main文件,然后进行测试的 服务端:Server.cpp #include #include using std::cout; using std::cin; using std::endl; #include using std::string; #pragma comment(lib,"ws2_32.lib") void main() { //创建套接字 WORD myVersionRequest;

1.socket编程:socket编程,网络字节序,函数介绍,IP地址转换函数,sockaddr数据结构,网络套接字函数,socket相关函数,TCP server和client

 1  Socket编程 socket这个词可以表示很多概念: 在TCP/IP协议中,"IP地址+TCP或UDP端口号"唯一标识网络通讯中的一个进程,"IP 地址+端口号"就称为socket. 在TCP协议中,建立连接的两个进程各自有一个socket来标识,那么这两个socket组成的socket pair就唯一标识一个连接.socket本身有"插座"的意思,因此用来描述网络连 接的一对一关系. TCP/IP协议最早在BSD UNIX上实现,

python socket编程入门(编写server实例)+send 与sendall的区别与使用方法

python 编写server的步骤: 1. 第一步是创建socket对象.调用socket构造函数.如: socket = socket.socket( family, type ) family参数代表地址家族,可为AF_INET或AF_UNIX.AF_INET家族包括Internet地址,AF_UNIX家族用于同一台机器上的进程间通信. type参数代表套接字类型,可为SOCK_STREAM(流套接字)和SOCK_DGRAM(数据报套接字). 2. 第二步是将socket绑定到指定地址.这

socket编程,简单多线程服务端测试程序

socket编程,简单多线程服务端测试程序 前些天重温了MSDN关于socket编程的WSAStartup.WSACleanup.socket.closesocket.bind.listen.accept.recv.send等函数的介绍,今天写了一个CUI界面的测试程序(依赖MFC)作为补充.程序功能简介如下: 1:一个线程做监听用. 2:监听线程收到客户端连接后,创建新线程接收客户端数据.所有对客户端线程将加入容器,以便管理. 3:服务端打印所有客户端发来的信息. 4:服务端CUI界面输入数字