首页 > 编程知识 正文

c语言中socket是什么意思,c++进程间通信的方式

时间:2023-05-05 21:11:25 阅读:17503 作者:4114

PAGE 3

1

一个简单的客户端/服务器程序的设计与实现

实验的目的和要求:

1、熟悉C编程环境。

2、熟悉套接字编程原理,掌握简单的套接字编程。

实验装置:

硬件: PC

软件:代码块

实验内容和步骤:

插座是什么?

Socket用英语直译为“孔或插座”,也称为插座。 用于描述IP地址和端口号,是进程之间的通信机制。 请注意,IP地址决定了网络中唯一的计算机,端口号指定了发送消息的APP应用程序。 (大多数APP应用程序在启动时主动绑定端口,如果不主动绑定端口,操作系统会自动分配端口。 )。

套接字类型

流:面向面向连接的TCP服务APP应用的安全但效率低下的流套接字。 (正文重点)

Datagram :数据报格式的套接字对未连接的UDP服务APP应用不安全(丢失、顺序混乱、接收方经常分析完整性、重新定位或请求重发)。

套接字程序的常见APP应用模式和执行过程

服务器端启动套接字,开始监听端口,并监听客户端连接信息。 这叫做Watch Socket。

客户端套接字连接到服务器端的监听套接字,成功连接后,服务器端立即创建新的套接字,负责与客户端通信,然后客户端停止与Watch Socket通信。

Watch Socket可能会继续监听来自其他客户端的连接。

上述过程就像实现了三方会谈。 服务器端的套接字至少有两个。 一个是Watch Socket,每当成功接收到客户端的连接时,都会在服务器端创建通信套接字。 客户端套接字指定要连接的服务器端的地址和端口,并创建用于初始化到服务器的TCP连接的套接字对象。

编写用TCP协议实现的客户端和服务器端程序,调试通过。

程序分为客户端程序和服务器程序两部分。

工作过程是首先启动服务器,创建套接字,然后等待客户连接。一旦客户启动并创建套接字,然后建立与服务器的连接,客户就会收到键盘输入并将数据发送到服务器。 当服务器收到数据时,收到的字符将显示在屏幕上。 或者,当服务器接收到键盘输入、将数据发送到客户端、客户端接收到数据时,屏幕上将显示接收到的字符。

服务器端代码:

#包含

#包含

#pragmacomment(lib、(' ws2_32 ' ) () ) ) ) ) ) ) 652

#define N 20

结构化Stu

{

char no[20];

char name[20];

}d[N];

(intFD(char*stum,int n ) ) ) ) ) ) )。

{

int i,j;

FILE *fp

char* res=' ';

FP=fopen(d:(student.txt ),) r );

for(I=0; I

FP,' %st%s ',d[i].no,d[i].name;

流量(FP );

for(j=0; Jj

{

if(strcmp(d[j].no,stum )==0) )

{res=d[j].name;

布雷克; }

res='no this student!' ;

}

返回RES;

}

int stuno () ) )

{

FILE *fp

FP=fopen(d:(student.txt ),) r );

int i=1;

char c;

while (! feof(FP ) }

wile(c=='n ' ) ) ) ) ) ) )。

{

I;

布雷克;

}

c=fgetc(FP );

继续;

}

流量(FP );

返回I;

}

int main () )

{

WSADATA wsaData;

WSAstartup(makeword ) 2,2 ),wsaData );

sockets=socket(pf_inet,SOCK_STREAM,IPPROTO_TCP );

struct sockaddr_in sockaddr;

so

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。