标签: client

如何配置C#Web服务客户端以并行发送HTTP请求标头和正文?

我使用的是VS2008 .Net 3.5中生成的传统C#Web服务客户端,继承自SoapHttpClientProtocol.这是连接到用Java编写的远程Web服务.

在客户端初始化期间,所有配置都在代码中完成,如下所示:

        ServicePointManager.Expect100Continue = false;
        ServicePointManager.DefaultConnectionLimit = 10;

        var client = new APIService
        {
            EnableDecompression = true,
            Url = _url + "?guid=" + Guid.NewGuid(),
            Credentials = new NetworkCredential(user, password, null),
            PreAuthenticate = true,
            Timeout = 5000 // 5 sec
        };
Run Code Online (Sandbox Code Playgroud)

一切正常,但执行最简单的方法调用所花费的时间几乎是网络ping时间的两倍.而Java测试客户端与网络ping时间大致相同:

C# client ~ 550ms
Java client ~ 340ms
Network ping ~ 300ms
Run Code Online (Sandbox Code Playgroud)

在分析会话的TCP流量后发现以下内容:

基本上,C#客户端按以下顺序发送TCP数据包.

Client Send HTTP Headers in one packet.
Client Waits For TCP ACK from server.
Client Sends HTTP Body in one packet.
Client Waits …
Run Code Online (Sandbox Code Playgroud)

c# client web-services http soaphttpclientprotocol

8
推荐指数
1
解决办法
1816
查看次数

客户端中的IExtensibleDataObject用法

我已将我的Web服务转换为具有一些数据交换的wcf服务.作为最佳实践,提到并且可取的是DataContracts应该继承自IExtensibleDataObject.我明白,在添加或删除数据库的情况下,IExtensibleDataObject很有帮助.但我无法得到客户端如何访问删除的数据库.这是我的代码:

[ServiceContract(Namespace = "http://mycompany.com/2010/08/")]
public class MyWebService {
    [OperationContract]
    public Employee Add(Employee emp)
    {
        // Some Processing
    }
}

[DataContract(Name = "Employee", Namespace = "http://mycompany.com/2010/08/")]
public class Employee : IExtensibleDataObject {
    [DataMember] public string FirstName;
    [DataMember] public string LastName;

    public ExtensionDataObject ExtensionData  { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

现在,在我的下一个Web服务版本中,我对DataContract进行了一些更改

[DataContract(Name = "Employee", Namespace = "http://mycompany.com/2010/09/")]
public class Employee : IExtensibleDataObject {
    [DataMember] public string FirstName;
    [DataMember] public string LastName;
    [DataMember(IsRequired = true)] public string MiddleName;

    public ExtensionDataObject ExtensionData  { get; set; …
Run Code Online (Sandbox Code Playgroud)

c# versioning wcf client iextensibledataobject

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

Erlang中的Websocket客户端

我想尝试开始使用Erlang,并且有一个数据源我想阅读它是通过Websockets分发的.现在我正在使用'websocket-client'模块在node.js中做同样的事情,但是有人可以为Erlang建议我可以查看的websocket客户端库吗?(或者,如果我不在考虑的话,可以选择另一种解决方案)

erlang client websocket

8
推荐指数
1
解决办法
3028
查看次数

如何在java网络中播放

这是我第一次在java中编程网络.我正在寻找一种方式发送到某种方式广播到整个网络中的所有节点.让他们知道我的存在.我正在尝试制作一个多人网络游戏,我希望客户能够看到所有可用的游戏来选择加入哪个游戏.我想知道如何从服务器广播,以及如何让客户端听.

请简单,我是新手:)

提前致谢.

java networking client broadcasting

8
推荐指数
1
解决办法
8349
查看次数

如何在android上实现HTTP服务器

我在WIFI提供的同一局域网上有两个Android应用程序:

  1. 应用程序(A)在端口8033上打开侦听套接字
  2. 应用程序(B)使用HttpClient访问端口8033上的(A)

如何使(A)可以对(B)进行POST和GET请求?
(A)访问(B)的URL是什么样的?

谢谢大家.

sockets client android httpclient httpserver

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

Android客户端和Java服务器TCP通信

我正在开发一个Android应用程序(客户端),并希望它使用TCP通信与我的Java服务器连接.

我已经完成了代码 - 简单的程序,客户端发送消息,服务器回复它 - 如下所示:

服务器代码:

    import java.net.*;


public class Server {

    public static void main(String[] args) {

        int nreq = 1;
        try
        {
            ServerSocket sock = new ServerSocket (8080);
            for (;;)
            {
                Socket newsock = sock.accept();
                System.out.println("Creating thread ...");
                Thread t = new ThreadHandler(newsock,nreq);
                t.start();
            }
        }
        catch (Exception e)
        {
            System.out.println("IO error " + e);
        }
        System.out.println("End!");
    }
}
Run Code Online (Sandbox Code Playgroud)

服务器的同一项目文件中的线程处理程序代码:

    import java.io.*;
import java.net.*;

class ThreadHandler extends Thread {
    Socket newsock;
    int n;

    ThreadHandler(Socket s, int v) …
Run Code Online (Sandbox Code Playgroud)

client android tcp communication

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

用tumblrs官方php客户端获取oauth令牌

这是我第一次玩api和oauth而tumblr有一个php客户端.我已经使用composer下载并安装了客户端.这是他们设置客户端的代码.

$client = new Tumblr\API\Client($consumerKey, $consumerSecret);
$client->setToken($token, $tokenSecret);
Run Code Online (Sandbox Code Playgroud)

我知道消费者密钥和秘密,但如何使用tumblrs php客户端获取令牌和令牌秘密?

我也知道oauth的过程,但我不知道如何实际实现它:/

php api client oauth tumblr

8
推荐指数
1
解决办法
3001
查看次数

在已安装64位Oracle数据库服务器的Windows Server上安装Oracle 32位客户端

我在Windows 2008 R2上安装了64位Oracle数据库服务器(11.2.0.3),当然,它会自动安装64位客户端.我必须在32位的服务器上安装一个应用程序,并且需要32位Oracle客户端.(不要问 - 我无法安装此应用程序的64位版本,它不能与64位客户端一起使用,我无法在另一台服务器上安装它.)

现在我尝试将32位客户端安装到不同的物理文件夹中,并在安装时为Oracle Base和Software Location选择了不同的值,并且安装得很好.它将32位客户端安装的BIN文件夹放在PATH statemtn的头部.

但是,当我尝试使用32位版本运行"SQLplus系统/系统"时,它给了我"ORA-12560:TNS:协议适配器错误".当我使用64位sqlplus.exe进入文件夹并运行它(直接而不是通过PATH)时,"系统/系统"凭据工作正常.

我将TNSNames文件夹从Oracle Server的NETWORK/admin文件夹复制到Oracle Client的NETWORK/admin文件夹,然后重新启动服务器.结果相同.

这是我对Oracle的故障排除知识的范围.

如何让32位客户端在与64位Oracle Server相同的服务器上运行?我知道在linux/Unix中,你只需将lib32文件夹放入64位客户端文件夹并设置几个环境变量,但我很确定它在Windows中并不那么简单.

如果有办法做到这一点,请回答您的描述,因为我需要逐步说明.

提前致谢.

database oracle client 32-bit

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

如何使用Elasticsearch Node Client Java连接到远程服务器

我正在尝试使用Elasticsearch Java NodeBuilder Client连接到我的服务器.但是我没有看到任何指定我的服务器地址和端口的选项(就像我们可以在Transport Client中一样使用addNewTransportAddress("serveraddress", port)).如何让Node Client连接到我的服务器?代码如下,我在哪里提到要连接的服务器地址?

//On Startup
Node node = nodeBuilder()
        .clusterName("elasticsearch")
        .data(false) //No shards allocated; or can set client to true
        .client(true) //No shards allocated; or can set data to false
        .node();

//Node Client
Client client = node.client();

//Get API       
GetResponse response = client.prepareGet("indexname", "type", "id")
        .execute()
        .actionGet();

System.out.println("----------------Index Output Begin----------------");
System.out.println("Index Name: " + response.getIndex());
System.out.println("Type: " + response.getType());
System.out.println("Document ID: " + response.getId());
System.out.println("Document Version: " + response.getVersion());
System.out.println("Source: " + response.getSourceAsString());
Run Code Online (Sandbox Code Playgroud)

java client elasticsearch server elasticsearch-java-api

8
推荐指数
1
解决办法
9832
查看次数

如何在没有频繁的ajax请求的情况下从客户端获取更新?

在我的项目中,有私人聊天和消息通知等功能.消息通知让我们知道是否有任何新的未读消息.


为实现这一目标,我想到的想法是

就像在client- server模型中一样,服务器应该监听新请求.就像那样,我认为应该有一些机制来监听服务器以获取有关新消息的信息.因为我知道ajax,所以我使用的ajax请求间隔为2秒.

在chrome中检查它时,ajax请求如下所示. 在chrome的网络部分下的Ajax请求

但我后来认为,如果这是唯一的想法,StackOverflow应该使用相同的技巧,因为它们异步更新通知/投票信息.

在chrome中检查他们的ajax请求,它完全是空白的.

我需要知道如何在不使用频繁的ajax请求的情况下实现它(这将增加服务器上的负载).
使用最有效技术的简单示例对于学习非常有用.

ajax jquery client client-server server

8
推荐指数
1
解决办法
1608
查看次数