tcpclient C++ 如何向服务端发送时间戳

2024-05-17 22:27

1. tcpclient C++ 如何向服务端发送时间戳

GetTickCount();可以获得微秒级时间!用这函数!

tcpclient C++ 如何向服务端发送时间戳

2. 求大神用C/C++语言写一段代码,建立TCP连接后实现用HTTP协议向目的地址发送GET请求

在浏览器上测试这个get请求,用抓包工具可以看到发送的tcp数据,照抄send。

3. 使用TCP时,服务器端如何知道是否有客户端发送连接请求?我使用WINSOCK控件做的。c++

看你是用同步的还是异步的。
同步:while死循环中 accept
异步:在FD_ACCEPT事件中accept

使用TCP时,服务器端如何知道是否有客户端发送连接请求?我使用WINSOCK控件做的。c++

4. c++中,如何链接一个服务器(提供ip和端口),并从服务器上获取消息,发送消息给服务器。TCP协议。

socket
或者telnet

5. 用c++写的tcp连接程序

注意:server/client都需要再连接一个库文件:
project->setting->link:object/library modules 添加:ws2_32.lib
需要先启动server,再启动client
这个需要手动添加,都不要忘记了。

Server代码:
#include 
#include 
#include 
//注意:需要再连接一个库文件:project->setting->link:object/library modules添加:ws2_32.lib
void main()
{
 WORD wVersionRequested;//版本号
 WSADATA wsaData;
 int err;
 
 wVersionRequested = MAKEWORD( 1, 1 );//1.1版本的套接字
 
 err = WSAStartup( wVersionRequested, &wsaData );
 if ( err != 0 ) {
  return;
 }//加载套接字库,加裁失败则返回
 

 if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {
    WSACleanup( );
    return; 
 }//如果不是1.1的则退出

 

 SOCKET sockServer = socket(AF_INET,SOCK_STREAM,0);  
 SOCKADDR_IN addrServer;//地址结构信息
 addrServer.sin_addr.S_un.S_addr=htonl(INADDR_ANY);//IP信息,一般设置为这个就可以
 addrServer.sin_family=AF_INET;
 addrServer.sin_port=htons(6000);//端口

 bind(sockServer,(SOCKADDR *)&addrServer,sizeof(SOCKADDR));//绑定

 listen(sockServer,5);//监听

 SOCKADDR_IN sockClient;
 int IClientSockLen=sizeof(SOCKADDR);

 while(1){
  SOCKET sockConn;
  sockConn=accept(sockServer,(SOCKADDR *)&sockClient,&IClientSockLen);//接受连接请求

 
  
  //在下面加入你要实现的代码
 


  
 

  closesocket(sockConn);
  


 }//while


 WSACleanup();
 

}//main



Client代码:

#include 
#include 
#include 
//注意:需要再连接一个库文件:project->setting->link:object/library modules添加:ws2_32.lib
void main()
{
 WORD wVersionRequested;//版本号
 WSADATA wsaData;
 int err;
 
 wVersionRequested = MAKEWORD( 1, 1 );//1.1版本的套接字
 
 err = WSAStartup( wVersionRequested, &wsaData );
 if ( err != 0 ) {
  return;
 }//加载套接字库,加裁失败则返回
 

 if ( LOBYTE( wsaData.wVersion ) != 1 || HIBYTE( wsaData.wVersion ) != 1 ) {
    WSACleanup( );
    return; 
 }//如果不是1.1的则退出

 SOCKET sockClient = socket(AF_INET,SOCK_STREAM,0);//创建socket SOCK_STREAM表示TCP
 SOCKADDR_IN addrClient;    //设置相关地址结构
 addrClient.sin_addr.S_un.S_addr=inet_addr("127.0.0.1");//把127.0.0.7改为你的server端的ip地址
 addrClient.sin_family=AF_INET;
 addrClient.sin_port=htons(6000);//设置server端端口号,你可以随便设置

 //连接
 int x=connect(sockClient,(SOCKADDR*)&addrClient,sizeof(SOCKADDR));
 
 
 //在下面写你要实现的功能的代码 





 closesocket(sockClient);//关闭
 


 WSACleanup();
 
 
}//main

用c++写的tcp连接程序

6. Linux下c++ 服务端tcp通讯包延迟,是否有特殊的设定需要

客户端向服务器端发送请求,服务器收到请求做相应的处理,将处理结果传回客户端。下面采用TCP协议实现服务器和客户端之间的连接。1. 客户端约定双方的传输协议(UDP或者TCP),根据传输协议创建socket;服务器的IP地址和端口号;连接服务器;获取服务器传递回来的数据。[cpp]#include #include types.h> #include socket.h> #include time.h> #include  #include  #includein.h> #includeinet.h> #include errno.h> #include #include #include using namespace std; const int MAXLINE=1024; int main(int argc,char** argv) {int sockfd,n;char recvline[MAXLINE+1];struct sockaddr_in servaddr;if(argc!=2){cout0){recvline[n]=0;if(fputs(recvline,stdout)==EOF){cout #include socket.h> #include time.h> #include  #include  #includein.h> #includeinet.h> #include errno.h> #include #include #include using namespace std; const int MAXLINE=1024; int main(int argc,char** argv) {int sockfd,n;char recvline[MAXLINE+1];struct sockaddr_in servaddr;if(argc!=2){cout0){recvline[n]=0;if(fputs(recvline,stdout)==EOF){cout #include socket.h> #include time.h> #include  #include  #includein.h> #includeinet.h> #include errno.h> #include #include #include #include using namespace std;const int MAXLINE=1024; int main(int argc,char **argv) {int listenfd,connfd;struct sockaddr_in servaddr;char buff[MAXLINE];time_t ticks;listenfd=socket(AF_INET,SOCK_STREAM,0);//建立socketif(listenfd #include socket.h> #include time.h> #include  #include  #includein.h> #includeinet.h> #include errno.h> #include #include #include #include using namespace std;const int MAXLINE=1024; int main(int argc,char **argv) {int listenfd,connfd;struct sockaddr_in servaddr;char buff[MAXLINE];time_t ticks;listenfd=socket(AF_INET,SOCK_STREAM,0);//建立socketif(listenfd<0){cout<<"socket error "<<strerror(errno)<<endl;exit(0);}memset(&servaddr,0, sizeof(servaddr));servaddr.sin_family=AF_INET;servaddr.sin_port=htons(8080);servaddr.sin_addr.s_addr=htonl(INADDR_ANY);int bindfd=bind(listenfd,(sockaddr*)&servaddr,sizeof(servaddr));//将地址和端口绑定到socketif(bindfd<0){cout<<"bind error"<<bindfd<<endl;exit(0);}listen(listenfd,MAXLINE);//监听连接,一直阻塞,直到有连接出现while(1){connfd=accept(listenfd,(sockaddr*)NULL,NULL);//接收连接传递的数据ticks=time(NULL);snprintf(buff,sizeof(buff),"%.24s\r\n",ctime(&ticks));cout<<strlen(buff)<<endl;write(connfd,buff,strlen(buff));//将传递的数据写回到socket中close(connfd);}return 0; }

7. c++编写的tcp协议客户端和服务器程序问题

首先你要确保两个机器能互相ping通(网络确实是畅通的才可以!)

你服务端绑定的IP估计是用的127.0.0.1   
//绑定IP和端口
	sockaddr_in sin;
	sin.sin_family = AF_INET;
	sin.sin_port = htons(8888);
	sin.sin_addr.S_un.S_addr = INADDR_ANY;  //这里!!


或者,你的客户端使用的是127.0.0.1
sockaddr_in serAddr;
	serAddr.sin_family = AF_INET;
	serAddr.sin_port = htons(8888);
	serAddr.sin_addr.S_un.S_addr = inet_addr("127.0.0.1");  //127.0.0.1是本机的一个loopback地址,你应该写成对端的SERVER的实际ip 


或者
SERVER端的机器上有防火墙挡住了你的应用访问。

两个方面,一个是程序代码上的,一个是机器环境上的。自己多方面检查一下吧。

c++编写的tcp协议客户端和服务器程序问题

8. tcp ip 连接 有效时间 C++

1.是一直有效。
2.不会阻塞,recv会返回SOCKET_ERROR。
3.直接关闭socket连接,重连
4.send会返回SOCKET_ERROR
5.中途断网只能重新连接