本文主要是介绍C/C++网络编程:TCP基础编程,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
C/C++网络编程:TCP基础编程
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
#include <unistd.h>
#define CHECK_POINT(x, y) {if((x) < 0){printf("%s error!\n", y);}}
typedef struct sockaddr sockaddr;
typedef struct sockaddr_in sockaddr_in;
const char * ip = "127.0.0.1";
const uint16_t port = 39000;
int main()
{
int sock, ret;
sockaddr_in addr, peer;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(ip);
addr.sin_port = htons(39000);
sock = socket(AF_INET, SOCK_STREAM, 0);
ret = bind(sock, (sockaddr *)&addr, sizeof(addr));
CHECK_POINT(ret, "bind");
ret = listen(sock, 5);
CHECK_POINT(ret, "listen");
while(true)
{
printf("TCP Server Running...\n");
socklen_t peer_len = sizeof(peer);
ret = accept(sock, (sockaddr *)&peer, &peer_len);
char * peer_ip = inet_ntoa(peer.sin_addr);
uint16_t peer_port = ntohs(peer.sin_port);
printf("accept from %s:%d connection...\n", peer_ip, peer_port);
}
return 0;
}
#include <stdio.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include <arpa/inet.h>
// #include <winsock2.h>
#include <unistd.h>
#define CHECK_POINT(x, y) {if((x) < 0){printf("%s error!\n", y);}}
typedef struct sockaddr sockaddr;
typedef struct sockaddr_in sockaddr_in;
const char * ip = "127.0.0.1";
const ushort port = 39000;
int main()
{
int sock, ret;
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(ip);
addr.sin_port = htons(port);
sock = socket(AF_INET, SOCK_STREAM, 0);
ret = connect(sock, (sockaddr *)&addr, sizeof(addr));
CHECK_POINT(ret, "connect");
return 0;
}
#include <stdio.h>
// #include <sys/socket.h>
// #include <netinet/in.h>
// #include <arpa/inet.h>
#include <winsock2.h>
#include <unistd.h>
#define CHECK_POINT(x, y) {if((x) < 0){printf("%s error!\n", y);}}
typedef struct sockaddr sockaddr;
typedef struct sockaddr_in sockaddr_in;
const char * ip = "127.0.0.1";
const USHORT port = 39000;
int main()
{
int sock, ret;
sockaddr_in addr;
addr.sin_family = AF_INET;
addr.sin_addr.s_addr = inet_addr(ip);
addr.sin_port = htons(port);
WSADATA wsaData;
if(WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
printf("WSAStartup error!\n");
sock = socket(AF_INET, SOCK_STREAM, 0);
ret = connect(sock, (sockaddr *)&addr, sizeof(addr));
CHECK_POINT(ret, "connect");
return 0;
}
这篇关于C/C++网络编程:TCP基础编程的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!