C++;和PHP套接字连接 我想用PHP连接到我的C++服务器… 到目前为止,我得到:
Server.cppC++;和PHP套接字连接 我想用PHP连接到我的C++服务器… 到目前为止,我得到:,php,c++,sockets,Php,C++,Sockets,Server.cpp #include <winsock2.h> #include <iostream> using namespace std; int main(int argc, char *argv[]) { WSADATA wsaData; SOCKET mySocket; SOCKET myBackup; SOCKET acceptSocket; sockaddr_in myAddress; // setup WSA and socket....
#include <winsock2.h>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
WSADATA wsaData;
SOCKET mySocket;
SOCKET myBackup;
SOCKET acceptSocket;
sockaddr_in myAddress;
// setup WSA and socket....
if( WSAStartup( MAKEWORD(2, 2), &wsaData ) != NO_ERROR )
{
cerr<<"Socket Initialization: Error with WSAStartup\n";
system("pause");
WSACleanup();
exit(10);
}
//Create a socket
mySocket = socket( AF_INET, SOCK_STREAM, IPPROTO_TCP );
if ( mySocket == INVALID_SOCKET )
{
cerr<<"Socket Initialization: Error creating socket"<<endl;
system("pause");
WSACleanup();
exit(11);
}
myBackup = mySocket;
//bind
myAddress.sin_family = AF_INET;
myAddress.sin_addr.s_addr = inet_addr( "0.0.0.0" );
myAddress.sin_port = htons( 25555 );
if ( bind ( mySocket, (SOCKADDR*) &myAddress, sizeof( myAddress) ) == SOCKET_ERROR )
{
cerr<<"ServerSocket: Failed to connect\n";
system("pause");
WSACleanup();
exit(14);
}
//listen
if ( listen ( mySocket, 10 ) == SOCKET_ERROR )
{
cout<<"ERR: ServerSocket: Error listening on socket\n";
system("pause");
WSACleanup();
exit(15);
}
cout<<"srv started. listeninig...\n";
//accept
acceptSocket = accept( myBackup, NULL, NULL );
while ( acceptSocket == SOCKET_ERROR )
{
acceptSocket = accept( myBackup, NULL, NULL );
}
mySocket = acceptSocket;
cout<<"done.\n";
return 0;
}
#包括
#包括
使用名称空间std;
int main(int argc,char*argv[])
{
WSADATA WSADATA;
套接字mySocket;
套接字备份;
插座接受插座;
我的地址中的sockaddr_;
//设置WSA和套接字。。。。
if(WSAStartup(MAKEWORD(2,2),&wsaData)!=无错误)
{
cerr您需要在PHP中进行正确的检查,以确保一切正常
试试这个:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
die("socket_create() failed: Reason: " . socket_strerror(socket_last_error()) . "\n\n");
return false;
}
echo("Attempting to connect to '{$IP}' on port '{$PORT}'");
$result = socket_connect($socket, $IP, $PORT);
if ($result === false) {
echo("socket_connect() failed. Reason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n\n");
return false;
} else {
echo "OK.\n\n";
}
您需要在PHP中进行正确的检查,以确保一切正常
试试这个:
$socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);
if ($socket === false) {
die("socket_create() failed: Reason: " . socket_strerror(socket_last_error()) . "\n\n");
return false;
}
echo("Attempting to connect to '{$IP}' on port '{$PORT}'");
$result = socket_connect($socket, $IP, $PORT);
if ($result === false) {
echo("socket_connect() failed. Reason: ($result) " . socket_strerror(socket_last_error($socket)) . "\n\n");
return false;
} else {
echo "OK.\n\n";
}
检查错误代码
socket_create
socket_create() returns a socket resource on success, or FALSE on error.
及
检查错误代码
socket_create
socket_create() returns a socket resource on success, or FALSE on error.
及
你验证过你的服务器正在接受来自任何东西的连接吗?telnet-your.ip.add.ress 25555
你验证过你的服务器正在接受来自任何东西的连接吗?telnet-your.ip.add.ress 25555
Thanx以获得快速回复。我尝试了Neal的代码,得到了:尝试连接到po上的“83.24.47.45”rt'25555'好的。即使服务器是否关闭…@user1023753确保端口不是共享或打开的端口,以便进行快速响应。我尝试了Neal的代码,结果是:尝试连接端口'25555'上的'83.24.47.45'好的。即使服务器是否关闭…@user1023753确保端口不是某个共享或打开的端口