怎麼在qt中使用connect指令來寫socket

2021-07-23 05:11:22 字數 1821 閱讀 3438

如何在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檢查連線...