如何在qt中使用connect指令來寫socket?
如何在qt中使用connect指令來寫socket?
我想用connect指令來設計socket
但是 qt 自動把 connect 當成傳遞訊號了 也就是qobject裡面的connect了
請問我怎樣才能用 connect 鏈結伺服器呢?
------解決方案--------------------
c/c++ code
/*server.h 就是server的標頭檔案*/#ifndef server_h
#define server_h
#include "vpn_usr.h"
//# define recvbuf 140
//# define backlog 10
typedef struct data
data;
class server : public qthread
;#endif
/*server.cpp */
#include"certification.h"
#include "vpn_usr.h"
#include"server.h"
#include "userevent.h"
server::server()
namelen=sizeof(struct sockaddr_in);
bzero(&server_addr,namelen);
server_addr.sin_family=af_inet;
server_addr.sin_port=htons(portnum);
server_addr.sin_addr.s_addr=htonl(inaddr_any);
bzero(&(server_addr.sin_zero),8);
if ((bind(sockfd, (struct sockaddr *)(&server_addr), namelen))<0)
printf("already bind\n");
}server::~server()
void server::run()
printf("listening now\n");
if((new_fd=accept(sockfd,(struct sockaddr *)(&client_addr), (socklen_t *)&sin_size))<0)
if(new_fd!=0)
printf(" connected with client!\n");
printf("starting communication with client %s .\n",inet_ntoa(client_addr.sin_addr));
addrsize=sizeof(struct sockaddr_in);
getpeername(new_fd,(struct sockaddr*)&addr,(socklen_t *)&addrsize);
bzero(to_client, 140);
bzero(from_client, 140);
if(recv(new_fd,&c,1,msg_peek)==-1)
if(c==0xff)
if(reclen<0)
else if(c==0xfe)
from_client[i]=c;
switch(from_client[1])}}
stopped = false;
} void server::stop()
在udp中使用connect
近日一直在學習 unix網路程式設計 第1卷 套介面api 再次重新認識了udp,糾正了不少以前錯誤的認識和觀念。在udp中使用connect 1.不能給輸出操作指定伺服器ip位址埠號,也就是說不能使用sendto而改用write或send。伺服器ip由connect指定。2.接收操作不必使用rec...
在Qt中使用sleep
在qt中使用sleep 關於sleep函式,我們先來看一下他的作用 sleep函式是使呼叫sleep函式的執行緒休眠,執行緒主動放棄時間片。當經過指定的時間間隔後,再啟動執行緒,繼續執行 sleep函式並不能起到定時的作用,主要作用是延時。在一些多執行緒中可能會看到sleep 0 其主要目的是讓出時...
在QT中使用sqlite
sqlite sql 是一款開源輕量級的資料庫軟體,不需要server,可以整合在其他軟體中,非常適合嵌入式系統。qt5以上版本可以直接使用sqlite qt自帶驅動 引入sql模組 在qt專案檔案 pro檔案 中,加入sql模組 qt sql include include include檢查連線...