用C语言TCP套接字编写关于员工管理系统的输入员工信息功能的具体代码
时间: 2024-02-05 14:12:00 浏览: 67
tcp/ip sockets in c
以下是一个简单的员工管理系统的输入员工信息功能的C语言TCP套接字代码,仅供参考:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <unistd.h>
#define MAX_MSG_SIZE 1024
// 定义员工结构体
struct Employee {
int id;
char name[20];
int age;
char gender[10];
};
int main(int argc, char *argv[]) {
int sock;
struct sockaddr_in server_addr;
char msg[MAX_MSG_SIZE];
struct Employee employee;
// 创建套接字
if ((sock = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
perror("socket");
exit(EXIT_FAILURE);
}
// 设置服务器地址
memset(&server_addr, 0, sizeof(server_addr));
server_addr.sin_family = AF_INET;
server_addr.sin_port = htons(8888);
if (inet_pton(AF_INET, "127.0.0.1", &server_addr.sin_addr) <= 0) {
perror("inet_pton");
exit(EXIT_FAILURE);
}
// 连接服务器
if (connect(sock, (struct sockaddr *) &server_addr, sizeof(server_addr)) < 0) {
perror("connect");
exit(EXIT_FAILURE);
}
// 输入员工信息
printf("请输入员工ID:");
scanf("%d", &employee.id);
printf("请输入员工姓名:");
scanf("%s", employee.name);
printf("请输入员工年龄:");
scanf("%d", &employee.age);
printf("请输入员工性别:");
scanf("%s", employee.gender);
// 发送员工信息到服务器
send(sock, &employee, sizeof(employee), 0);
// 接收服务器回复消息
memset(msg, 0, MAX_MSG_SIZE);
recv(sock, msg, MAX_MSG_SIZE, 0);
printf("服务器回复:%s\n", msg);
// 关闭套接字
close(sock);
return 0;
}
```
说明:
1. 定义了一个`Employee`结构体,包含了员工的ID、姓名、年龄和性别。
2. 创建了一个TCP套接字,并连接到服务器。
3. 输入员工信息,将员工信息通过套接字发送给服务器。
4. 接收服务器回复消息并输出。
5. 关闭套接字。
阅读全文