我有一个nodejs名为的脚本script.js.
var util = require('util');
var net = require("net");
process.on("uncaughtException", function(e) {
console.log(e);
});
var proxyPort = "40000";
var serviceHost = "1.2.3.4";
var servicePort = "50000";
net.createServer(function (proxySocket) {
var connected = false;
var buffers = new Array();
var serviceSocket = new net.Socket();
serviceSocket.connect(parseInt(servicePort), serviceHost);
serviceSocket.pipe(proxySocket).pipe(serviceSocket);
proxySocket.on("error", function (e) {
serviceSocket.end();
});
serviceSocket.on("error", function (e) {
console.log("Could not connect to service at host "
+ serviceHost + ', port ' + servicePort);
proxySocket.end();
});
proxySocket.on("close", function(had_error) …Run Code Online (Sandbox Code Playgroud) 我试着编写一个删除多余空格的脚本,但我没有设法完成它.
基本上我想转变abc sssd g g sdg gg gf成abc sssd g g sdg gg gf.
在PHP或C#等语言中,它很容易,但在C++中却没有,我知道.这是我的代码:
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <cstring>
#include <unistd.h>
#include <string.h>
char* trim3(char* s) {
int l = strlen(s);
while(isspace(s[l - 1])) --l;
while(* s && isspace(* s)) ++s, --l;
return strndup(s, l);
}
char *str_replace(char * t1, char * t2, char * t6)
{
char*t4;
char*t5=(char *)malloc(10);
memset(t5, 0, 10);
while(strstr(t6,t1))
{
t4=strstr(t6,t1);
strncpy(t5+strlen(t5),t6,t4-t6);
strcat(t5,t2);
t4+=strlen(t1);
t6=t4;
}
return …Run Code Online (Sandbox Code Playgroud) 我写了一个程序的问题C++.我想在空闲端口上打开SOCKS5代理,然后检查是否正常(请检查curl),然后释放I/O阻塞.这是代码:
C++
main()
{
char* s_sockshost = "127.0.0.1";
socks_port = find_empty_port();
if(fork())
{
// child process continues and opens a socks
open_proxy();
}
else
{
// parrent process just checks something then dies
for(int i = 0; i < 20; i++)
{
proxytest = curlsockstest(s_sockshost,socks_port);
if(proxytest)
{
break;
}
sleep(1);
}
if(proxytest)
{
if(hitdebug >= 3) printf("check_result : is opened on %s",socks_port);
exit(0); // kill just this process
}
else
{
if(hitdebug >= 3) printf("check_result : is bad\n"); …Run Code Online (Sandbox Code Playgroud) 我已经写了一个程序C++,我需要检查TCP端口是否真的为空.
这是功能:
int checkport(char* host, char* port, int timeout)
{
int sock;
struct sockaddr_in sin;
int result = 0;
sock = socket(AF_INET, SOCK_STREAM, 0);
sin.sin_family = AF_INET;
sin.sin_port = htons(atoi(port));
sin.sin_addr.s_addr = inet_addr(host);
fd_set fdset;
struct timeval tv;
fcntl(sock, F_SETFL, O_NONBLOCK);
int connect_result = connect(sock,(struct sockaddr*)(&sin),sizeof(struct sockaddr_in));
FD_ZERO(&fdset);
FD_SET(sock, &fdset);
tv.tv_sec = timeout;
tv.tv_usec = 0;
int select_result = select(sock + 1, NULL, &fdset, NULL, &tv);
// printf("connect = [%d] | select = [%d]\n",connect_result,select_result);
if(select_result == 1)
{ …Run Code Online (Sandbox Code Playgroud)