c服务端源码
⑴ 如何用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 附源码 初学 求大神改改
应该是地址越界之类的错误
看代码找错误是很累的事情,可以逐段注释(二分法)看看是哪条语句导致的