我正在使用Linux并尝试通过send()发送长消息.消息是1270字节,但我的客户端应用程序只接收1024字节.
由于1024字节是一个方便的数字,我猜测send()一次只能发送1024个字节.我查看了发送的手册页,但所有关于长消息的说法是:
当消息不适合插入插座的发送缓冲区,发送()通常块,除非该插座已被放置在非阻塞I/O模式.在非阻塞模式下,在这种情况下,它将失败并出现错误EAGAIN或EWOULD-BLOCK.select(2)调用可用于确定何时可以发送更多数据.
我正在使用阻止模式,手册页没有说明要做什么.我发送的确切电话看起来像这样:
send(socket, message, strlen(message), 0);
我需要将字符串拆分为1024字节块并单独发送吗?我的客户如何处理这个问题?如果我的客户需要做什么,我就提到,这是在Java中,它使用InputStreamReader的接收数据.
我有两个程序使用套接字编程进行通信.最初我会指定不.关于他们必须在彼此之间交换消息的时间.每次收到消息时,它都会将其id附加到它.因此,字符串每次都会增大.我的程序工作正常8000跳,但是在它超过8000之后,虽然程序p1发送长度为16388的字符串,但是p2表示套接字中只有16385准备好被读取.我使用ioctl()来确定套接字中准备好recv()的字符数量,然后在char*变量中恢复它...
是因为p2中的send()和p2中的recv()有延迟,p2只识别套接字中的16385个字符?
例如:如果P1发送长度(16388)
P2只收到以下长度(16385)
我有一个PHP脚本调用API需要一段时间才能加载,因此用户暂时看不到页面并且认为出现了问题.
我被告知,Jquery脚本可以将数据发送到PHP文件,从中获取结果数据并在执行此操作时显示加载消息/动画.环顾互联网我发现了这个:
$.get("check.php", { url: "www.domain.com"}, function(data){
alert("Data Loaded: " + data);
});
Run Code Online (Sandbox Code Playgroud)
我无法弄清楚PHP文件如何接收发送的数据($_GET['url']
或其他方式),或者如何接收和显示数据以及如何显示加载消息.我知道很多问题,但我非常感谢任何信息,以了解如何做到这一点.
什么意思是发送命令中0x000000be的结果:
iResult = send( ConnectSocket, dataToSend, (int) strlen(dataToSend), 0 );
Run Code Online (Sandbox Code Playgroud)
我没有在这里找到这个返回码:http://msdn.microsoft.com/en-us/library/windows/desktop/ms740668(v = vs.85).aspx
有任何想法吗?
谢谢
我试图在java中的两个方法之间发送一个数组.有人能帮我吗?
代码是:
package bubbeltest;
public class BubbelTest {
public static void main(String[] args) {
int[] list = new int[3];
list[0]=5;
list[1]=2;
list[2]=3;
sort(list);
}
public static int sort(list){
}
}
Run Code Online (Sandbox Code Playgroud) 我必须将数据仅发送到连接,我可以这样做吗?
服务器:
import asyncore, socket, threading
class EchoHandler(asyncore.dispatcher_with_send):
def __init__(self,sock):
asyncore.dispatcher.__init__(self,sock=sock);
self.out_buffer = ''
def handle_read(self):
datos = self.recv(1024);
if datos:
print(datos);
self.sock[0].send("signal");
class Server(asyncore.dispatcher):
def __init__(self,host='',port=6666):
asyncore.dispatcher.__init__(self);
self.create_socket(socket.AF_INET, socket.SOCK_STREAM);
self.set_reuse_addr();
self.bind((host,port));
self.listen(1);
def handle_accept(self):
self.sock,self.addr = self.accept();
if self.addr:
print self.addr[0];
handler = EchoHandler(self.sock);
def handle_close(self):
self.close();
cliente = Server();
asyncore.loop()
Run Code Online (Sandbox Code Playgroud)
这一行是一个例子失败,但我想将数据发送到零袜子:
self.sock[0].send("probando");
Run Code Online (Sandbox Code Playgroud)
例如,如果我有5个套接字,请选择发送数据的人
我正在尝试将Ruby与服务器一起使用.我从玩家那里得到一个输入或一个字符串,这样服务器就会玩一场战争(纸牌游戏).
真正令人沮丧的是我正在使用read和write_nonblock,并且我一直遇到错误,我不知道它们为什么会出现,因此不知道如何解决它们.
Errno::EAGAIN: Resource temporarily unavailable - read would block #etc. etc.
Run Code Online (Sandbox Code Playgroud)
那么......我如何在服务器和客户端上正确使用读写non_block来发送和接收数据(所以我可以触发事件)?(我是一个新的程序员,所以解释越简单越好.)
我记不清它多久以前,但Discord.js在我离开的时候更新了,而不是编码.其中一个已经更新并将在1.12(或者我被告知)中删除的东西是sendFile选项.sendFile,senMessage等现在都在一个'发送'下.我没有遇到任何麻烦,直到我去做一个用户从/ images文件夹中获取文件的命令.
我指的是什么.任何帮助,将不胜感激.毫无疑问,但是我和Discord.js lib一起对编码很新.
我是 Angular2+ 的新手,阅读了很多包括 Angular 网站在内的材料。
从角度来看,对于父/子,我们可以使用 @Input() https://angular.io/guide/template-syntax#input-and-output-properties
但在我的代码中,我有两个不同的模块,每个模块都有一个组件。
如何将对象值从模块 1 的组件 1 传递到模块 2 的组件 2?
我尝试过 @Input() 但没有成功,并且从上面的 Argular 链接 @Input() 指的是父/子,这不是我的情况,好吧,根据我的理解,它不是:)
我可以通过路由、字符串和数值发送,但不能发送对象,这就是我需要不同方法的原因。
感谢您的任何评论阿德米尔
我创建了一个简单的聊天客户端程序来与服务器进行通信。
客户端使用send()函数向服务器发送数据后,数据被初始化为memset(buf,0x00,sizeof(buf)),但是通过Dumpit搜索OS内存后,某处仍然有发送数据的痕迹。如何清除发送数据?
int main() {
WSADATA wsaData;
SOCKET hSocket;
SOCKADDR_IN servAddr;
char message[30];
char tmp[8];
int strLen;
memset(tmp, 0x00, 8);
if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0)
ErrorHandling("WSAStartup() error!");
hSocket = socket(PF_INET, SOCK_STREAM, 0);
if (hSocket == INVALID_SOCKET)
ErrorHandling("socket() error!");
memset(&servAddr, 0, sizeof(servAddr));
servAddr.sin_family = AF_INET;
servAddr.sin_addr.s_addr = inet_addr("222.106.99.137");
servAddr.sin_port = htons(atoi("20071"));
if (connect(hSocket, (SOCKADDR*)&servAddr, sizeof(servAddr)) == SOCKET_ERROR)
ErrorHandling("connect() error!");
memcpy(tmp, "thisishell", 7);
sendto(hSocket, tmp, strlen(tmp) + 1, 0,
(struct sockaddr*)&servAddr, sizeof(servAddr));
memset(tmp, 0x00, 8);
memset(tmp, 0xFF, 8);
memset(tmp, 0x00, 8); …
Run Code Online (Sandbox Code Playgroud) 我在我的视图中有这个
个人资料有人可以帮我控制器功能.我有这个方法,对于联系页面,我不知道在Controllor页面发布什么.如果有人可以告诉我如何处理第一个标签或解释我在cs页面做什么.谢谢
我已经在网上寻找了如何在python中发送文件的每个地方,但100%失败了,没人能帮上忙。是否有程序员可以帮助我将文件从客户端发送到服务器或以其他方式发送?
我可以很容易地发送txt
#!/usr/bin/python
"""
Socket Client
"""
import socket #networking library
indent = ""
server = input("server name (default is " + socket.gethostname() + "): ") or socket.gethostname()
print("connecting to server at: %s" % server)
while True:
clientSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
clientSocket.connect((server, 23000))
str = input("text to send: ")
clientSocket.send(str.encode("utf-8")) #send text as encoded bytes
print("received: %s" % clientSocket.recv(100).decode("utf-8"))
clientSocket.close()
#strRecv = clientSocket.recv(500).decode("utf-8") #receive up to 500 bytes and decode into text
#print(strRecv)
Run Code Online (Sandbox Code Playgroud) send ×13
sockets ×4
c ×3
c++ ×2
file ×2
javascript ×2
python ×2
android ×1
angular ×1
arduino ×1
arrays ×1
asp.net ×1
asyncore ×1
bluetooth ×1
components ×1
contact ×1
discord ×1
discord.js ×1
email ×1
http-get ×1
ioctl ×1
iostream ×1
java ×1
jquery ×1
kotlin ×1
methods ×1
module ×1
networking ×1
nonblocking ×1
php ×1
recv ×1
ruby ×1
tcp ×1
winapi ×1
winsock2 ×1