socket编程是一种网络编程技术,它允许进程在不同的主机上进行通信。它是一种应用层协议,它可以在两个不同的计算机之间允许数据流动。
socket编程是一种网络编程技术,它允许进程在不同的主机上进行通信。它是一种应用层协议,它可以在两个不同的计算机之间允许数据流动。
socket编程入门需要了解以下几个概念:
1. 套接字:它是一种特殊的文件,用于两个进程之间的通信。
2. 地址:每个套接字都有一个地址,它由IP地址和端口号组成。
3. 传输控制协议(TCP):它是一种可靠的网络协议,用于在两台计算机之间传输数据。
4. 用户数据报协议(UDP):它是一种不可靠的网络协议,用于在两台计算机之间传输数据。
以下是一个简单的socket编程示例:
// 服务器端代码
#include
#include
#include
#include
int main(int argc, char *argv[])
{
int socket_desc;
struct sockaddr_in server;
char *message, client_reply[2000];
// 创建套接字
socket_desc = socket(AF_INET, SOCK_STREAM, 0);
if (socket_desc == -1)
{
printf("Could not create socket");
}
// 设置服务器信息
server.sin_family = AF_INET;
server.sin_addr.s_addr = INADDR_ANY;
server.sin_port = htons( 8888 );
// 绑定套接字
if( bind(socket_desc,(struct sockaddr *)&server , sizeof(server)) < 0)
{
puts("bind failed");
return 1;
}
puts("bind done");
//
listen(socket_desc , 3);
// 接受客户端连接
int c = sizeof(struct sockaddr_in);
int client_sock = accept(socket_desc, (struct sockaddr *)&client, (socklen_t*)&c);
if (client_sock < 0)
{
perror("accept failed");
return 1;
}
puts("Connection accepted");
// 接收客户端发来的消息
while( (read_size = recv(client_sock , client_reply , 2000 , 0)) > 0 )
{
// 将客户端发来的
本站系公益性非盈利分享网址,本文来自用户投稿,不代表码文网立场,如若转载,请注明出处
评论列表(76条)