Linux/Code/cet.c
2025-06-10 23:43:56 +08:00

54 lines
1.6 KiB
C
Raw Permalink Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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;
}