导航:首页 > IDC知识 > csocket域名连接数据库

csocket域名连接数据库

发布时间:2020-11-16 09:50:53

1、c# 开发c/s程序时,将操作数据库的函数放在客户端,客户端如何通过SOCKET去调用这些函数呢?

看样子你还没有明白什么是bs 和cs 吧??

做cs程序 本地有一个数据库! 服务器也版有一个数据库!
本地很操作一次 就会把权数据上传到服务器。
只所以分 cs和bs

cs就是为了 服务器不能正常运行时 客户端操作的数据会保存在本地 一直等到服务器恢复运行 再把 数据上次!

怎么调用?? 就是操作数据库啊

2、C语言socket连接

你肯定要定一个上限啊,比如最多只能同时给50个客户提供连接,也就是50个线程。多余的其它客户连接会被阻塞直到有空余的连接出现。其实就是所谓的“线程池”的概念,你可以搜搜这方面的内容,很多很多的。

3、帮忙! c/c++使用socket访问网址

#include <stdio.h> #include <WINSOCK2.H> #pragma comment(lib,"ws2_32.lib") #define LEN 1024 //接收数据的大小 int main() { WSADATA ws; WSAStartup(MAKEWORD(2,2),&ws);//初始化Socket动态连接库 char http[60] = " www.google.com "; SOCKET sock = socket(AF_INET,SOCK_STREAM,0);//建立socket if (sock == INVALID_SOCKET) { printf("ERROR\n"); return 0; } sockaddr_in hostadd; hostent* host = gethostbyname(http);//取得主机的IP地址 memcpy(&hostadd,host->h_addr,sizeof(hostadd));//将返回的IP信息Copy到地址结构 hostadd.sin_family = AF_INET; hostadd.sin_port = htons(80); char buf[LEN]="GET / HTTP/1.1\r\nHost: ";//构造Http请求数据包 strcat(buf,inet_ntoa(hostadd.sin_addr)); strcat(buf," \r\nContent-Length: 10\r\n\r\n"); strcat(buf,"Connection:close"); int time = 1000; //超时时间 setsockopt(sock,SOL_SOCKET,SO_RCVTIMEO,(char*)&time,sizeof(time)); if (connect(sock,(sockaddr*)&hostadd,sizeof(hostadd)) == SOCKET_ERROR)//连接请求 { printf("\nSocket ERROR:%d\n",GetLastError()); return 0; } if (SOCKET_ERROR == send(sock,buf,strlen(buf)+1,0))//发送构造好的Http请求包 { printf("\nERROR:send fail!\n"); return 0; } memset(buf,0,LEN); recv(sock,buf,LEN,0);//接收返回的数据 printf("\n%s\n",buf); closesocket(sock); WSACleanup(); return 0; } //给你个示例吧...

求采纳

4、CSocket怎么实现联网功能

CSocket 实现联网发送消息代码只有简单的几句,CSocket是阻塞的,也就是遇到accept语句和recive语句时 就会等待,以至于出现像“死机”那样,所以就要用到多线程,把会让程序等待的语句放到新线程里,然后在新线程来个无限循环去接受消息,还有一点就是CSocket对象不能跨线程,必须用Detach()分离对象 然后用Attach合并(这里比较麻烦)!呵呵

5、Linux环境下C语言程序设计,服务器通过socket连接后,向客户端发送字符串“连接上了”。在服务器上……

服务端:
先创建server_socket;
然后bind;
listen;
int clientsocket=accept(server_socket,(struct sockaddr*) &client_addr, &length);
printf("客户端IP:%s",client_addr);
send to 客户端.;
close(clientsocket);

客户端:
创建client_socket;
connect;
close;

具体细节,您自内己去网容上搜搜哈

6、在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库?

需要用到的头文件包含:

#include <winsock2.h> 

#include <windows.h>

与Linux环境下socket编程相比,windows环境多了一个步骤:启动或者初始化winsock库

Winsock,一种标准API,一种网络编程接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本:

Winsock 1:

Windows CE平台支持。

头文件:WinSock.h

库:wsock32.lib

Winsock 2:

部分平台如Windows CE貌似不支持。通过前缀WSA可以区别于Winsock 1版本。个别函数如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都属于Winsock 1.1规范的函数;

头文件:WinSock2.h

库:ws2_32.lib

mswsock.h用于编程扩展,使用时必须链接mswsock.dll

(6)csocket域名连接数据库扩展资料

winsock库的加载与卸载:

加载:int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);

加载成功,返回值为0。

WORD wVersionRequested:加载的winsock版本,使用宏MAKEWORD(x, y),x表示高字节,y表示低字节。然而使用时MAKEWORD(2, 2)。高字节与低字节相同~~

LPWSADATA lpWSAData:WSADATA结构的指针,传入参数后,系统帮助我们填充版本信息。有兴趣的可以看看结构体内容,不过基本用不着。

卸载:int WSACleanup(void);比起加载,卸载的函数真是轻松愉快。

7、新手初学C语言socket编程。想问一下如何把IP地址作为参数传到函数里面。

你输出看看inet_addr的返回值是多少,按说不应该在这里出问题的
另外本地回环是127.0.0.1
还有communication函数的第一个参数char IPAddr[10]最好还是改成char *IPAddr吧

8、CSocket 接收数据

对于CSocket来说,你要重载OnReceive函数
如果有数据OnReceive函数会响应回

//假设CSocketEx : public CSocket

//大概写答的
CSocket::OnReceive( ... )
{
INT iRead = Receive( buf , MAX_LEN ) ;
}

9、如何用C/S模型的Socket通讯进行连接及数据收发

1.连接该部份比较简单,只有三个简单的函数:CreateConnectToRemoteSocket,ConnectToRemoteCore,AsyncConnectToRemoteCore,CreateConnectToRemoteSocket:创建连接的Socket,其中CheckSockectIsConnected是检查是否已连接(该函数用了MS使用的例子来判断是否已连接),最后使用传进的参数(如果不为null)设置SOCKET(比如超时等等),TcpIPSocketSetting类是一个专用户设置SOCKET的类ConnectToRemoteCore:同步连接到远程AsyncConnectToRemoteCore:异步连接到远程,在该函数中用到类接口ITranseParamets,使用SocketAsyncEventArgs.UserToken存储该接口参数,对于该接口的定义我会在代码中贴出,并且属性及方法也会在该接口中说明,其实现会在后续章节中讲 到,SocketAsyncEventArgs.RemoteEndPoint存储要连接到的远程终结点(这个一定要设),最后调用Socket.ConnectAsync函数异步连接,该函数使用的参数及返回值的含义等同上一章使用到的Socket.AcceptAsync,在Socket中类似这样的还有收发函数Socket.SendAsync,Socket.ReceiveAsync,这些函数都使用SocketAsyncEventArgs类,返回值都是Bool类型,含义及处理都类型上一章的Socket.AcceptAsync,只是在调用前设置SocketAsyncEventArgs类的方法不同(而所有方法中都必需设置SocketAsyncEventArgs.Completed事件),及返回后SocketAsyncEventArgs类的有效属性不同,本例中是在GetSocketArg方法中设置了SocketAsyncEventArgs类的属性,由于GetSocketArg是一个通用方法,其实在本例中它仅设置类SocketError属性及Completed事件,其它属性都是null,本例中Socket.ConnectAsync方法完成后的有效属性:它完成后仅SocketError属性有效指示是否成功OnCompleted:Completed事件处理程序,该例程是连接及数据收发的处理例程,先讲连接的处理例程,仅仅调用OnConnectCompleted方法完成连接OverAsyncTranse:该例程用于完成异步操作,它在连接及收发操作中都会调用,首先RecySocketAsyncEventArgs,回收SocketAsyncEventArgs,如果你的SocketAsyncEventArgs不是使用缓冲的则不必调用了,设置ITranseParamets.TranseError指示是否有错误,调用ITranseParamets.AsyncTranseOver通指异步操作完成2.数据收发的约定数据的收发方都遵循约定ITranseHeader,该接口是一个约定,及传输过程中的控制信息,实现该接口的类负责解读该约定的含义,而该接口在网络中传输的数据则存储在该接口的Data属性中,Data属性应该是一个接收双方都已知长度的字节数组,通常方送方事先填充Data,接收方根据双方已知的字节长度接收该长度字节数的内容,具体说命见代码中贴出的说明,其实现会在后续章节中给出,其实这个就类似于数据传输协议的头3.数据的收发

10、C/S模式下远程数据操作使用socket好还是使用远程数据库连接(如SQL Server本身就支持远程数据库连接)?

都不太好,不安全,且可能被防火墙拦住。
看一下去计算的文章,用web服务的方式处理。

与csocket域名连接数据库相关的知识