資源簡介
本程序實現TCP 通信的服務器端和客戶端的收發(fā)測試,用于基礎的TCP測試。
代碼片段和文件信息
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
#include?
?
#define?MYPORT??3001
#define?BUFFER_SIZE?1206
char*?SERVER_IP?=?“192.168.1.111“;
?
int?main()
{
????///定義sockfd
????int?sock_cli?=?socket(AF_INETSOCK_STREAM?0);
????
????///定義sockaddr_in
????struct?sockaddr_in?servaddr;
????memset(&servaddr?0?sizeof(servaddr));
????servaddr.sin_family?=?AF_INET;
????servaddr.sin_port?=?htons(MYPORT);??///服務器端口
????servaddr.sin_addr.s_addr?=?inet_addr(SERVER_IP);??///服務器ip
????
????printf(“連接%s:%d\n“SERVER_IPMYPORT);
????///連接服務器,成功返回0,錯誤返回-1
????if?(connect(sock_cli?(struct?sockaddr?*)&servaddr?sizeof(servaddr))?0)
????{
????????perror(“connect“);
????????exit(1);
????}
????printf(“服務器連接成功\n“);
????char?sendbuf[BUFFER_SIZE];
????char?recvbuf[BUFFER_SIZE];
????while?(fgets(sendbuf?sizeof(sendbuf)?stdin)?!=?NULL)
????{
????????//printf(“向服務器發(fā)送數據:%s\n“sendbuf);
????????printf(“向服務器發(fā)送數據:%s\n““l(fā)og?inspvaxa?ontime?1“);
????????send(sock_cli?sendbuf?strlen(sendbuf)0);?///發(fā)送
????????if(strcmp(sendbuf“exit\n“)==0)
????????????break;
????????recv(sock_cli?recvbuf?sizeof(recvbuf)0);?///接收
????????printf(“從服務器接收數據:%s\n“recvbuf);
????????
????????memset(sendbuf?0?sizeof(sendbuf));
????????memset(recvbuf?0?sizeof(recvbuf));
????}
????
????close(sock_cli);
????return?0;
}
評論
共有 條評論