把你的代码写进我的代码中再发给我
时间: 2024-03-06 15:49:25 浏览: 62
我自己用的代码传一下
好的,以下是一个简单的客户端程序,它连接到指定的服务器,并与服务器进行通信。当用户输入"quit"时,客户端会关闭连接并退出程序。
```
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <arpa/inet.h>
#include <string.h>
#include <signal.h>
int main(int argc, char* argv[]) {
if (argc != 3) {
printf("请输入服务器ip地址和端口号!\n");
exit(0);
}
printf("ip: %s port:%d\n", argv[1], atoi(argv[2]));
//1. 创建socket
int clientSocket = socket(AF_INET, SOCK_STREAM, 0);
if (-1 == clientSocket) {
printf("创建socket失败:%m\n");
exit(-1);
}
printf("创建socket成功!\n");
//2. 创建服务器协议地址簇
struct sockaddr_in sAddr = { 0 };
sAddr.sin_family = AF_INET;
sAddr.sin_addr.s_addr = inet_addr(argv[1]);
sAddr.sin_port = htons(atoi(argv[2]));
//3. 连接服务器
int r = connect(clientSocket, (struct sockaddr*)&sAddr, sizeof(sAddr));
if (-1 == r) {
printf("连接服务器失败:%m\n");
close(clientSocket);
exit(-1);
}
printf("连接服务器成功!\n");
//4. 通信
char buff[256] = { 0 };
while (1) {
printf("请输入要发送的数据(输入quit结束):\n");
fgets(buff, 255, stdin);
if (strcmp(buff, "quit\n") == 0) {
printf("请求关闭连接\n");
close(clientSocket);
break;
}
r = send(clientSocket, buff, strlen(buff), 0);
if (r < 0) {
printf("发送数据失败:%m\n");
close(clientSocket);
exit(-1);
}
printf("发送数据成功!\n");
}
return 0;
}
```
可以将这段代码与之前的服务器代码结合起来,实现一个简单的聊天程序。
阅读全文