當前位置:首頁 » 操作系統 » c服務端源碼

c服務端源碼

發布時間: 2022-03-12 14:00:11

⑴ 如何用c語言寫服務端可以和js客戶端實現ajax通信

開源的lighttpd之類的http伺服器代碼很多,略加改造就可以實現ajax調用->C函數了。

⑵ c++服務端和客戶端如何編程有源代碼嗎誰能教一下

我給你發個文件吧。

#ifndef MYMYsql_H
#define MYMYSQL_H

//windows下使用mysql.h的方法
//路徑中使用/符號
#include <windows.h>
#include <C:/mysql/include/mysql.h>

//linux下使用mysql.h的方法
//#include <mysql/mysql.h>

/*
int listen_st;//linux下的定義socket描述符的寫法
SOCKET listen_st;//windows下的定義socket描述符的寫法
*/

#include <QStandardItemModel>

class mymysql
{
public:
mymysql();
const char *geterror();
//第一個參數代表server IP地址,第二個參數代表用戶名,第三個密碼,第四個使用資料庫
int sql_connect(const char *Hostname, const char *User, const char *Password, const char *DBName);
void sql_disconnet();
int sql_exec(const char *SQL);
int sql_open(const char *SQL, QStandardItemModel **p);
private:
MYSQL *connection;
MYSQL mysql;
char buf[1024];
};

#endif // MYMYSQL_H

#include <string.h>
#include "mymysql.h"
#include <QMessageBox>

//所有有關mysql API函數調用,都是在mymysql這個類裡面實現的

//建這個類的目的是實現封裝,封裝所有和mysql相關函數,所有和mysql相關的函數,都放到mymysql這個類裡面
mymysql::mymysql()
{
mysql_init(&mysql);
connection = NULL;
memset(buf, 0, sizeof(buf));
}

int mymysql::sql_connect(const char *Hostname, const char *User, const char *Password, const char *DBName)
{
connection = mysql_real_connect(&mysql, Hostname, User, Password, DBName, 0, 0,0);
if (connection == NULL)
{
memset(buf, 0, sizeof(buf));
strcpy(buf, mysql_error(&mysql));
//QMessageBox::information(0, "", mysql_error(&mysql));
return -1;
}else
{
mysql_query(connection, "set names utf8");
return 0;
}

}

const char *mymysql::geterror()
{
return buf;
}

void mymysql::sql_disconnet()
{
if (connection)
{
mysql_close(connection);
connection = NULL;
}
}

int mymysql::sql_exec(const char *SQL)
{
if (mysql_query(connection, SQL) != 0)
{
memset(buf, 0, sizeof(buf));
strcpy(buf, mysql_error(&mysql));
return -1;
}
return 0;
}

int mymysql::sql_open(const char *SQL, QStandardItemModel **p)
{
if (mysql_query(connection, SQL) != 0)
{
memset(buf, 0, sizeof(buf));
strcpy(buf, mysql_error(&mysql));
return -1;
}

MYSQL_RES *result = mysql_store_result(connection);
if (result == NULL)//沒有查詢結果
{
memset(buf, 0, sizeof(buf));
strcpy(buf, mysql_error(&mysql));
return -1;
}

int rowcount = mysql_affected_rows(connection);//這個函數返回SQL語句執行後又多少行
int fieldcount = mysql_field_count(connection);//這個函數返回SQL語句執行後有多少列

*p = new QStandardItemModel(rowcount, fieldcount);//根據SQL語句返回的行列總數,動態的建一個mol出來.
MYSQL_FIELD *field;

int i = 0;
int j = 0;
for(i = 0;i<fieldcount;i++)
{
field = mysql_fetch_field(result);
(*p)->setHeaderData(i, Qt::Horizontal, field->name);
}

for(i = 0;i<rowcount;i++)//循環遍歷每一行
{
MYSQL_ROW row = mysql_fetch_row(result);
for(j = 0;j<fieldcount;j++)//循環遍歷一行當中所有的列
{
(*p)->setData((*p)->index(i, j, QModelIndex()), row[j]);
}
}

mysql_free_result(result);//釋放通過mysql_store_result函數分配的內存空間
return 0;
}

⑶ 求c的源代碼

加我。

⑷ C# WINFORM C/S 客戶端調服務端程序小源碼案例,非直接調資料庫

這樣的案例,一定是一個完整的工程,因為涉及到客戶端、伺服器端、資料庫等至少兩個子工程,不會太小,只能跟你說下大致方法。
再一個打的工程項目里,新建兩個子工程,一個是Winfrom工程,一個Web工程。如果不直接調用資料庫,可以在Web工程中新建一個Web服務,將資料庫訪問相關的代碼,寫入Web服務,在Winfrom項目中新增伺服器引用,引用Web服務,通過Web服務間接讀寫資料庫。
Web服務可以使用加強版的WCF,目前很流行。不直接調用資料庫的優點是,客戶端不保留資料庫連接字,可以保證資料庫安全。

⑸ 求一C語言寫的tcp程序的源碼,程序越簡單越好,C++也可以,最好帶注釋

最簡單的那種?我給你寫一個=,=
//伺服器
#include <sys/stat.h>

#include <fcntl.h>

#include <errno.h>

#include <netdb.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <string.h>

#include <stdlib.h>

#include <stdio.h>

#include <unistd.h>

main()

{
//創建套接字

int serverSocket= socket(AF_INET,SOCK_STREAM,0);

struct sockaddr_in server_addr;

struct sockaddr_in clientAddr;

int addr_len = sizeof(clientAddr);
int client;
char buffer[200];

//創建地址

bzero(&server_addr,sizeof(server_addr));

server_addr.sin_family =AF_INET;

server_addr.sin_port = htons(5555);

server_addr.sin_addr.s_addr = htonl(INADDR_ANY);

//綁定

bind(serverSocket,(struct sockaddr *)&server_addr,sizeof(server_addr));
//幀聽

listen(serverSocket,5);
printf("客戶端發過來的 :\n");
//接收
client=accept(serverSocket,(sockaddr *)&clientAddr,(socklen_t*)&addr_len);
printf("客戶端發過來的 :\n");
while(1)
{
if(recv(client,buffer,sizeof(buffer),0)>0)
printf("客戶端發過來的 : %s\n",buffer);
}
return 0;
}

//客戶端
#include <sys/stat.h>

#include <fcntl.h>

#include <errno.h>

#include <netdb.h>

#include <sys/types.h>

#include <sys/socket.h>

#include <netinet/in.h>

#include <arpa/inet.h>

#include <string.h>

#include <stdlib.h>

#include <stdio.h>

#include <unistd.h>

main()

{

struct sockaddr_in serverAddr;

int clientSocket=socket(AF_INET,SOCK_STREAM,0);

char sendbuf[200];

//創建地址信息

serverAddr.sin_family=AF_INET;

serverAddr.sin_port=htons(5555);

serverAddr.sin_addr.s_addr=inet_addr("127.0.0.1");

//連接伺服器

connect(clientSocket,(sockaddr*)&serverAddr,sizeof(serverAddr));

printf("連接目標主機中.....\n連接完成......\n");

//

while(1)

{

printf("請輸入發給伺服器的數據 : ");

scanf("%s",sendbuf);

//strcmp函數作用,比較兩個東東(按ASCII值大小相比較),相同就==0。

if(strcmp(sendbuf,"x")==0)

break;

send(clientSocket,sendbuf,sizeof(sendbuf),0);

}

close(clientSocket);

return 0;

}

⑹ 怎樣用c或c++語言編寫ftp程序 客戶端和伺服器端的源代碼

這個問題太大了點,你可以去starforge等開源網站上去找這方面的工程。。。

⑺ 我有pc端游戲源代碼,服務端,客服端,資料庫,怎麼做才能運行這個游戲,語言c.c++

既然都齊全了,那你只需要啟動資料庫,再將源代碼里的資料庫連接改成你本地的,最後通過編譯工具將代碼生成為exe可執行文件即可

⑻ 求 C 源代碼!!!!!!!!

/*第一題 已經通進上機測試*/
#include<string.h>
int strcat1(char *p,char *a)
{
while(*p!='\0')
p++;

while(*a!='\0')
*(p++)=*a++;
}

main()
{
static char temp1[80],temp2[80];
gets(temp1);
gets(temp2);
strcat1(temp1,temp2);
printf("%s\n%s",temp1,temp2);
getch();
}
/*第二題意**********/
main()
{
static char temp[256],*p;
long int max=0,min=0,tempmax=0,tempmin=0;

gets(temp);
p=temp;

while(*p++!='\0')
if(*p>='0'&&*p<='9')
{
tempmax=tempmax*10;
tempmax+=*p-'0';
}
else
{
if(min==0&&max==0){max=tempmax;min=tempmax;}
if(tempmax>max){max=tempmax;}
if(tempmax<min){min=tempmax;}
tempmax=0;
}

printf("max=%ld,min=%ld",max,min);
getch();

}

⑼ 傳奇服務端網站源碼在那裡下載

用迅雷下載,地址是 http://www.gougou.com/search?search=%E4%BC%A0%E5%A5%87%E6%9C%8D%E5%8A%A1%E7%AB%AF%E7%BD%91%E7%AB%99&restype=-1&id=10000000&ty=0&pattern=0

希望採納

⑽ C語言伺服器程序 運行就出現 segmentation fault 附源碼 初學 求大神改改

應該是地址越界之類的錯誤
看代碼找錯誤是很累的事情,可以逐段注釋(二分法)看看是哪條語句導致的

熱點內容
密碼箱的密碼忘記了如何開鎖 發布:2024-11-15 06:04:41 瀏覽:955
安卓軟體和蘋果系統哪個好 發布:2024-11-15 05:48:32 瀏覽:283
pythonwhileelse 發布:2024-11-15 05:39:10 瀏覽:671
java文件流上傳文件 發布:2024-11-15 05:24:02 瀏覽:147
linux安裝so 發布:2024-11-15 05:22:29 瀏覽:581
九游版冒險王2適合安卓哪個版本 發布:2024-11-15 05:12:33 瀏覽:600
iphonexsmax怎麼連接伺服器 發布:2024-11-15 05:11:46 瀏覽:775
長江存儲校招 發布:2024-11-15 05:11:01 瀏覽:966
oraclesql函數大全 發布:2024-11-15 05:10:00 瀏覽:465
form多文件上傳 發布:2024-11-15 05:09:21 瀏覽:913