服务器和客户端c语言代码_C#语言

服务器端(C语言):,“c,#include,#include,#include,#include,#include,#include,#include,,#define PORT 8080,,int main() {, int server_fd, new_socket;, struct sockaddr_in address;, int opt = 1;, int addrlen = sizeof(address);, , if ((server_fd = socket(AF_INET, SOCK_STREAM, 0)) == 0) {, perror("socket failed");, exit(EXIT_FAILURE);, }, , if (setsockopt(server_fd, SOL_SOCKET, SO_REUSEADDR | SO_REUSEPORT, &opt, sizeof(opt))) {, perror("setsockopt");, exit(EXIT_FAILURE);, }, , address.sin_family = AF_INET;, address.sin_addr.s_addr = INADDR_ANY;, address.sin_port = htons(PORT);, , if (bind(server_fd, (struct sockaddr *)&address, sizeof(address))`,,客户端C#语言):,`csharp,using System;,using System.Net.Sockets;,using System.Text;,,class Program {, static void Main() {, TcpClient client = new TcpClient();, client.Connect("127.0.0.1", 8080);, NetworkStream stream = client.GetStream();, byte[] data = Encoding.ASCII.GetBytes("Hello Server!");, stream.Write(data, 0, data.Length);, data = new byte[256];, String responseData = String.Empty;, Int32 bytes = stream.Read(data, 0, data.Length);, responseData = Encoding.ASCII.GetString(data, 0, bytes);, Console.WriteLine("Received: {0}", responseData);, stream.Close();, client.Close();, },},``

服务器端C语言代码:

服务器和客户端c语言代码_C#语言
(图片来源网络,侵删)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#define BUF_SIZE 1024
#define PORT 8888
int main() {
    int server_sock, client_sock;
    struct sockaddr_in server_addr, client_addr;
    socklen_t client_addr_size;
    char buffer[BUF_SIZE];
    server_sock = socket(PF_INET, SOCK_STREAM, 0);
    if (server_sock == 1) {
        perror("socket error");
        exit(1);
    }
    memset(&server_addr, 0, sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_addr.s_addr = htonl(INADDR_ANY);
    server_addr.sin_port = htons(PORT);
    if (bind(server_sock, (struct sockaddr *)&server_addr, sizeof(server_addr)) == 1) {
        perror("bind error");
        exit(1);
    }
    if (listen(server_sock, 5) == 1) {
        perror("listen error");
        exit(1);
    }
    client_addr_size = sizeof(client_addr);
    client_sock = accept(server_sock, (struct sockaddr *)&client_addr, &client_addr_size);
    if (client_sock == 1) {
        perror("accept error");
        exit(1);
    }
    while (1) {
        ssize_t recv_len = recv(client_sock, buffer, BUF_SIZE  1, 0);
        if (recv_len == 1) {
            perror("recv error");
            break;
        } else if (recv_len == 0) {
            break;
        }
        buffer[recv_len] = ' ';
        printf("Received message from client: %s", buffer);
    }
    close(client_sock);
    close(server_sock);
    return 0;
}

客户端C语言代码:

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
#include <sys/socket.h>
#define BUF_SIZE 1024
#define IP "127.0.0.1"
#define PORT 8888
int main() {
    int client_sock;
    struct sockaddr_in server_addr;
    char buffer[BUF_SIZE];
    client_sock = socket(PF_INET, SOCK_STREAM, 0);
    if (client_sock == 1) {
        perror("socket error");
        exit(1);
    }
    memset(&server_addr, 0, sizeof(server_addr));
    server_addr.sin_family = AF_INET;
    server_addr.sin_addr.s_addr = inet_addr(IP);
    server_addr.sin_port = htons(PORT);
    if (connect(client_sock, (struct sockaddr *)&server_addr, sizeof(server_addr)) == 1) {
        perror("connect error");
        exit(1);
    }
    while (1) {
        printf("Input message to send: ");
        fgets(buffer, BUF_SIZE, stdin);
        if (!strcmp(buffer, "q
")) {
            break;
        }
        send(client_sock, buffer, strlen(buffer), 0);
    }
    close(client_sock);
    return 0;
}
服务器和客户端c语言代码_C#语言
(图片来源网络,侵删)

【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!

(0)
热舞的头像热舞
上一篇 2024-06-29 14:46
下一篇 2024-06-29 14:55

相关推荐

  • CentOS系统如何配置team网卡实现负载均衡和冗余?

    在服务器运维中,网络的稳定性和吞吐量至关重要,为了提升网络的可用性和带宽,CentOS提供了一种名为“Team”的链路聚合技术,与传统的Bonding技术相比,Team是更现代、更灵活的解决方案,它利用teamd守护进程来管理多个物理网卡,使其对外表现为一个逻辑网卡,从而实现故障转移和负载均衡,本文将详细介绍在……

    2025-10-11
    007
  • CentOS如何查看Java是否安装及具体版本?

    在CentOS系统中,Java作为许多企业级应用、大数据平台和Web服务的核心运行环境,其安装与管理是系统管理员和开发者的必备技能,准确地查看系统中已安装的Java版本、路径及相关配置,对于保障应用兼容性、排查问题以及进行版本切换至关重要,本文将系统地介绍在CentOS环境下查看Java安装信息的多种方法,从快……

    2025-10-02
    001
  • CentOS系统下如何正确安装WPS Office办公软件?

    在CentOS这类企业级Linux发行版上,办公软件的选择相对有限,尽管LibreOffice是一个功能强大的开源替代品,但许多用户因其与Microsoft Office的高度兼容性以及熟悉的界面而偏爱WPS Office,WPS官方并未直接提供CentOS的软件仓库,这使得安装过程对于新手来说可能有些棘手,本……

    2025-10-07
    0012
  • 服务器系统搭建网站源码_搭建网站

    搭建网站需要先安装服务器系统如Linux或Windows,然后配置Web服务器软件(如Apache、Nginx),上传网站源码到服务器,通过浏览器访问域名即可。

    2024-07-24
    004

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

广告合作

QQ:14239236

在线咨询: QQ交谈

邮件:asy@cxas.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信