这有效
target.sin_addr.s_addr = inet_addr("127.0.0.1");
Run Code Online (Sandbox Code Playgroud)
但我想输入网站 URL 中的 IP
我努力了
const char host[] = "http://www.google.com/";
struct hostent *host_ip;
host_ip = gethostbyaddr(host, strlen(host), 0);
Run Code Online (Sandbox Code Playgroud)
在我使用 gethostbyaddr() 之前,我确实做了 WSAStartup;
我试过这个
target.sin_addr.s_addr = inet_addr(host_ip);
Run Code Online (Sandbox Code Playgroud)
我也尝试过一些类似的方法,但都不起作用。有人可以告诉我如何正确执行此操作吗?
谢谢你!
编辑:
当我做
host_ip = gethostbyaddr((char *)&host, strlen(host), 0);
std::cout << host_ip->h_addr;
Run Code Online (Sandbox Code Playgroud)
它给了我
httpa104-116-116-112.deploy.static.akamaitechnologies.com
Run Code Online (Sandbox Code Playgroud) 我在 python 中使用了 pickle 函数来解决套接字编程问题。但是我在服务器上收到的输出被打印为“< main .ProcessData instance at 0x7fbacba37f38>”,而不是发送的内容。
服务器端和客户端代码如下:
服务器
import socket, pickle
class ProcessData:
print "Server is Listening....."
print "Server is Listening....."
HOST = 'localhost'
PORT = 50007
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((HOST, PORT))
s.listen(1)
conn, addr = s.accept()
print 'Connected by', addr
data = conn.recv(4096)
data_variable = pickle.loads(data)
conn.close()
print data_variable
print 'Data received from client'
Run Code Online (Sandbox Code Playgroud)
客户
import socket, pickle
class ProcessData:
print 'ABCDEFGHIJK'
HOST = 'localhost'
PORT = 50007
# Create a socket connection.
s …Run Code Online (Sandbox Code Playgroud) 我创建了一个小型的客户端-服务器程序,其工作原理如下:客户端在五秒内向服务器发送一个随机数,然后服务器发送一个(或多或少出名的)报价给客户端。该随机数表示某些引号所在的 ServerClass 中 ArrayList 的索引。连接运行良好,客户收到报价,我可以轻松地使用 sysout 将其打印出来。我现在的问题是,我想在一个小的 JavaFX / FXML 文件中将收到的报价显示为标签,并且当从服务器传入新报价时,文本应该每五秒更改一次。QuotesClient 类(即客户端)也是相应 FXML 文件的控制器,但问题是因为我的 Client 类中负责处理传入 UDP 数据包的方法是静态的,当然我无法访问非静态在此方法中进行标记。
我也尝试将标签设为静态,但随后我收到一个 NullPointerException:
java.lang.NullPointerException
at Aufgabe1.QuotesClient.main(QuotesClient.java:48)
at Aufgabe1.QuotesApp.lambda$1(QuotesApp.java:32)
at java.base/java.lang.Thread.run(Thread.java:844)
Run Code Online (Sandbox Code Playgroud)
这是我的客户端文件:
public class QuotesClient {
private static final int BUFSIZE = 508;
@FXML
private static Label zitatLabel; //Thats the quoteLabel i wanna change
public static void main(String[] args) throws UnknownHostException {
var host = "localhost";
var localPort = 40000;
var serverPort = 50000;
try (var socket = new DatagramSocket(localPort)) {
while(true) {
Random …Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个侦听套接字连接的进程.当我在main()函数中绑定,监听和等待接受时,它似乎有效.但是当我尝试创建一个新线程并在新线程上绑定,监听和接受时,它就失败了.这是我的代码.
void request_handler(int clientSock) {
FILE *requestedFile = NULL;
long fileSize = 0;
struct stat st;
long bytesRead;
char buffer[1024];
requestedFile = fopen("/PATH/book.txt", "rb");
while(!feof(requestedFile)) {
bytesRead = fread(buffer, 1, sizeof(buffer), requestedFile);
send(clientSock, buffer, bytesRead, 0);
}
}
void listener() {
int server_sock_desc;
struct sockaddr_in name;
int client_sock_desc;
struct sockaddr_in client_name;
socklen_t addr_size;
pthread_t handler_thread;
printf("waiting");
//connection setup
server_sock_desc = socket(PF_INET, SOCK_STREAM, 0);
if(server_sock_desc != -1) {
memset(&name, 0, sizeof(name));
name.sin_family = AF_INET;
name.sin_port = htons(5000);
name.sin_addr.s_addr = htonl(INADDR_ANY);
int …Run Code Online (Sandbox Code Playgroud) 在 Go 中实现点对点网络时,最好的起点是什么?Go 中有没有什么好的特性可以让实现点对点网络更容易?
我正在写一个服务器 - 客户端聊天程序.
这是我的代码
服务器:
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.ServerSocket;
import java.net.Socket;
public class HelloServer {
public final static int defaultPort = 2345;
public static void main(String[] args) {
int port = defaultPort;
try {
port = Integer.parseInt(args[0]);
} catch (Exception e) {
}
if (port <= 0 || port >= 65536) {
port = defaultPort;
}
try {
ServerSocket ss = new ServerSocket(port);
while (true) {
try {
Socket s = ss.accept();
String response = "Hello …Run Code Online (Sandbox Code Playgroud) Program received signal SIGSEGV, Segmentation fault.
memcpy ()
at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:143
143 ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S: No such file or directory.
(gdb) bt
#0 memcpy ()
at ../sysdeps/x86_64/multiarch/../multiarch/memmove-vec-unaligned-erms.S:143
#1 0x00007ffff764aa2e in __GI__IO_default_xsputn (f=0x7fffffffcf30,
data=<optimized out>, n=30) at genops.c:438
#2 0x00007ffff761c59c in _IO_vfprintf_internal (
s=s@entry=0x7fffffffcf30, format=<optimized out>,
format@entry=0x55555555773f "%s/%s", ap=ap@entry=0x7fffffffd058)
at vfprintf.c:1637
#3 0x00007ffff763e61b in __IO_vsprintf (
string=0x3930313938393339 <error: Cannot access memory at address 0x3930313938393339>, format=0x55555555773f "%s/%s",
args=args@entry=0x7fffffffd058) at iovsprintf.c:42
#4 0x00007ffff7623717 in __sprintf (s=<optimized out>,
format=<optimized out>) at sprintf.c:32
#5 0x000055555555680e in take_action ( …Run Code Online (Sandbox Code Playgroud) 我对开发Web应用程序和网络应用程序感兴趣.为此,学习最好的脚本语言是什么.哪一个对这两个有效.因此,我甚至不知道任何脚本语言的单一语法.哪个是理解,可维护,有效和简单的最佳脚本(可能不是).
请不要说你知道的是什么.请告诉我最好的
type Dialer struct {
......
// KeepAlive specifies the keep-alive period for an active
// network connection.
// If zero, keep-alives are enabled if supported by the protocol
// and operating system. Network protocols or operating systems
// that do not support keep-alives ignore this field.
// If negative, keep-alives are disabled.
KeepAlive time.Duration
}
Run Code Online (Sandbox Code Playgroud)
type Transport struct {
......
// IdleConnTimeout is the maximum amount of time an idle
// (keep-alive) connection will remain idle before closing
// itself. …Run Code Online (Sandbox Code Playgroud) 我想发送一组数据包,如下所示:
\x00\x01\x02\x03\x04\x05\x06\x07\x08\x09\x0A\x0B
Run Code Online (Sandbox Code Playgroud)
到我的电脑192.168.123.45上的端口102.
这是昨天写的Ruby中的一个小程序,它完成了这项工作.现在我想在C中做这个,最终为了拥有一个Windows可执行文件,但我被卡住了.
有人知道如何用C做这个Ruby程序吗?谢谢.
require 'socket'
myport = 102
myhost = '192.168.123.45'
mysock = TCPSocket.new(myhost, myport)
mysock.write [0x01, 0x02, 0x03, 0x04,
0x05, 0x06, 0x07, 0x08,
0x09, 0x0A, 0x0B].pack('C*')
puts mysock.read
mysock.close
puts "End of socket"
Run Code Online (Sandbox Code Playgroud) 在一次采访中,这个问题在多项选择题中被提出.
网络编程可以用以下哪种语言完成?
a)C
b)C++
c)Java
d)Pascal
我认为可以在这些技术中进行网络编程.
据我所知,有以下协议用于发送和接收电子邮件:
这些协议中的哪些用于在电子邮件中发送附件?发送电子邮件时 FTP 或 TFTP 有什么作用吗?
networking network-programming cisco protocols email-attachments