Linux/Code/cet.c

54 lines
1.6 KiB
C
Raw Permalink Normal View History

2025-06-10 23:43:56 +08:00
#include<stdio.h>
#include <sys/socket.h>
#include <sys/types.h>/* See NOTES */
#include <netinet/in.h>
#include <arpa/inet.h>
#include <string.h>
#include <unistd.h>
#define OWNADDR "192.168.0.17" //我自己电脑的ip地址
#define OWNPORT 10000 //我自己电脑的该程序的端口号
#define SERVERADDR "192.168.0.114" //对方的服务器的IP地址
#define SERVERPORT 20000 //对方的服务器的端口号
int main()
{
//1、买手机建立套接字
int socketfd = socket(AF_INET, SOCK_STREAM, 0);
if(socketfd == -1)
{
printf("没钱了....,失败\n");
return -1;
}
//2、绑定自己的电话号码绑定自己的IP地址 和端口号)
//定义一个IPV4结构体变量初始化自己的IP地址和端口号
struct sockaddr_in ownAddr;
ownAddr.sin_family = AF_INET;/*地址族  IPV4*/
ownAddr.sin_port = htons(OWNPORT);//htons 将本地端口号转为网络端口号
ownAddr.sin_addr.s_addr = inet_addr(OWNADDR);//将本地IP地址转为网络IP地址
bind(socketfd, (struct sockaddr *)&ownAddr,sizeof(struct sockaddr_in));
//3、开始打电话发起连接
struct sockaddr_in serverAddr;
serverAddr.sin_family = AF_INET;/*地址族  IPV4*/
serverAddr.sin_port = htons(SERVERPORT); //htons 将本地端口号转为网络端口号
serverAddr.sin_addr.s_addr = inet_addr(SERVERADDR); //将本地IP地址转为网络IP地址
connect(socketfd,(struct sockaddr *)&serverAddr,sizeof(struct sockaddr_in));
//4、聊天
while(1)
{
printf("data");
char buf[1024]={0};
scanf("%s",buf);
//发送数据
send(socketfd, buf, strlen(buf), 0);
}
//5、关闭
close(socketfd);
return 0;
}