服务器端(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语言代码:

(图片来源网络,侵删)
#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;
} 
(图片来源网络,侵删)
【版权声明】:本站所有内容均来自网络,若无意侵犯到您的权利,请及时与我们联系将尽快删除相关内容!
发表回复