标签: tcp-ip

使用Ruby的TCPSocket-Class发送原始字节数组的最简单方法

我想使用Rubys TCPSocket-Class发送原始字节.有人举个好榜样吗?

我试过这种方式,但它不起作用:(

require 'socket'

host = '192.168.0.80'
port = 102
s = TCPSocket.new(host, port)

    s.write [0x03, 0x00, 0x00, 0x16,
             0x11, 0xE0, 0x00, 0x00, 0x00, 
             0x01, 0x00, 0xC1, 0x02, 0x02, 
             0x02, 0xC2, 0x02, 0x02, 0x02, 
             0xC0, 0x01, 0x0A ].pack('C')
    puts s.read
    s.close

puts "exit"
Run Code Online (Sandbox Code Playgroud)

谢谢 :)

ruby network-programming tcp bytearray tcp-ip

2
推荐指数
1
解决办法
4667
查看次数

从TCP/IP读取循环

我需要连接一个服务器(使用ip和port)并创建一个读取循环,它将从服务器获取消息作为XML.有时没有来自服务器的消息.

我试图创建一个连接(工作正常)和读取消息,我从服务器收到第一条消息,当我试图读取另一条消息时 - 它卡住了.我想也许现在没有消息,但我需要循环才会继续,直到有消息......它甚至不会"捕获"或"终于",只是什么也不做.

public class Connection
{
    public Connection()
    {
        Socket server = null;
        try
        {
            string p = string.Empty;
            using (var client = new TcpClient(myIPAddress, myPort))
            using (var stream = client.GetStream())
            using (var reader = new StreamReader(stream))
            {
               while (p != null)
               {
                    try
                    {
                        p = reader.ReadLine();
                    }
                    catch (Exception e)
                    {
                       //
                    }
               }
            }
        }
        catch (Exception e)
        {
            //
        }
        finally { 
            server.Close(); 
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# tcp-ip

2
推荐指数
1
解决办法
3481
查看次数

CFStreamCreatePairWithSocketToHost获取本地端点地址

我是iOS/MacOS编程的新手,没有找到我理解的任何例子.我想这只是几行代码,所以很抱歉,如果这已经涵盖了,但对于我的生活,我找不到它.

我正在使用CFStreamCreatePairWithSocketToHost来创建输入/输出流.我只是想得到本地端点信息(特别是IP地址,真的不关心端口).我已经从我的服务器获取公共IP信息,但出于安全/日志记录的原因,我也需要本地地址.

这是在iOS上,而不是MacOS,如果它很重要.

sockets tcp-ip ios

2
推荐指数
1
解决办法
5052
查看次数

Eclipse TCP/IP Monitor有两个端口

我试图使用TCP/IP Monitor监控请求.

但是,我看到有两个端口正在使用中.一个是应用程序端口[8080]和其他监视端口[9833].

任何人都可以告诉,为什么有两个不同的端口?

当我启动应用程序时,它将在9833而不是8080启动.为什么会发生这种变化?

eclipse servlets eclipse-plugin http tcp-ip

2
推荐指数
1
解决办法
3554
查看次数

LabView TCP连接

在LabView中有一些TCP/IP连接的例子,但我真的不知道VI在做什么.一些功能正在做什么.以下是这些示例的图片. 图1:服务器

为什么在强制转换功能之后导线被分成两条线?而且我真的没有得到这些标记的其他功能.

在此输入图像描述 图2:客户端

labview tcp tcp-ip

2
推荐指数
1
解决办法
6894
查看次数

Modbus从站计数限制

我有两个问题:

  1. 为什么Modbus只允许247个从站连接到同一网络?

  2. 如何通过Modbus TCP/IP克服此限制?

networking modbus addressing master-slave tcp-ip

2
推荐指数
1
解决办法
855
查看次数

C#.Net中使用IP地址和端口号的TCP / IP客户端套接字程序

TCP / IP客户端套接字程序。在这里,我的主要要求是客户端发送消息,服务器接收消息,并使用服务器IP地址和端口号存储在C#.Net的数据库表中。

c# sockets client-server ip-address tcp-ip

2
推荐指数
1
解决办法
3万
查看次数

TCP客户端/服务器程序,DataInputStream/DataOutputStream问题

我正在尝试编写一个简单的TCP客户端服务器连接.服务器为每个新客户端连接生成一个线程,每个线程与客户端进行通信.我正在使用DataInputStream和DataOutputStream类,在dis.readUTF()上,服务器线程停止运行.我尝试使用BufferedReader和PrintStream/Printwriter,仍然是同样的问题.请查找System.out.println("现在不在这里"),它前面的那行阻止执行.

/*
TCP client
*/

import java.io.DataInputStream;
import java.io.DataOutputStream;
import java.io.IOException;
import java.net.Socket;
import java.net.UnknownHostException;

public class TCPClient {

    public TCPClient() {
        // TODO Auto-generated constructor stub

    }

    public static void main (String args[]) throws UnknownHostException, IOException {

        Socket socket = new Socket("localhost", 9701);

        DataInputStream input = new DataInputStream(socket.getInputStream());

        DataOutputStream output = new DataOutputStream(socket.getOutputStream());

        //char[] buffer = new char[100];

        boolean stop = false;

        while (!stop) {

            System.out.println("here");
            output.writeBytes("hello server");

            String response = "-WTF-";
            System.out.println("here");

            response = input.readUTF();
            System.out.println("not here now"); …
Run Code Online (Sandbox Code Playgroud)

java sockets tcp tcp-ip

2
推荐指数
1
解决办法
2万
查看次数

是否可以通过UDP发送非常大的数据?

我想通过UDP发送非常大的数据.
我知道我可以通过UDP发送64K(64*1024字节),我将拥有UDP协议支持的碎片.
但如果我有超过64K的数据要发送...我怎么发送它?

我知道我可以把这个大数据=>转换为字节数组并将这个字节数组分成更小的部分(64K)并将其作为单个包发送...并使用这种方式发送所有包.

但有没有办法做到这一点而不是自己分开?
是否有可能使用内置(IP层)UDP/TCP碎片或我丢失的东西?

sockets networking udp tcp-ip

2
推荐指数
1
解决办法
3700
查看次数

使用TCP通过套接字传输文件时陷入困境

我写程序,它工作正常,但是我想用sendfile()重写它,现在我陷入了循环。

服务器端:

  • 发送名称=好的
  • 发送md5校验和=确定
  • 发送大小=确定
  • 发送文件= ko

客户端:

  • 记录名称=好的
  • recv md5 cecksum =好的
  • 接收大小=可以
  • 创建目录并创建文件=确定
  • 将数据写入创建的文件= ko

PS在以前的程序版本中,我花了一些时间,但这取决于我为什么使用printf多少?例如,我添加一行,并保留printf程序,将其删除,即可正常工作。

UPDT:重写代码客户端/服务器

客户

/* Received file name */
  int rc_byte = 0;
  rc_byte = recv(fd, rx_tx_file->out_name, sizeof(rx_tx_file->out_name),0);
  if (rc_byte < 0){
    perror("Failed to receive file name: ");
    exit(-1);
  } else
    printf("Recv out name %s\n", rx_tx_file->out_name);
  //printf("file name rc %s\n", rx_tx_file->out_name);                                                                           
  trimm_path_name(rx_tx_file);


  /* Received md5sum */
  rc_byte = recv(fd, rx_tx_file->md5sum, sizeof(rx_tx_file->md5sum), 0);
  if (rc_byte < 0) {
    perror("Failed to receive check sum: "); …
Run Code Online (Sandbox Code Playgroud)

c sockets tcp tcp-ip sendfile

2
推荐指数
1
解决办法
486
查看次数