我正在编写一个带有照片的iPhone应用程序,然后将其上传到服务器.如何使用Cocoa将照片上传到服务器?我想我在某个地方使用NSUrl.
谢谢!
主机名的有效字符是什么?这将类似于联网计算机或Web域.
把它放在上下文中,我正在编写一个连接到远程服务器的PC游戏; 所以我有一个主机名字段和一个端口字段.显然端口是Short范围内的数字,但是我需要知道所有可能的主机名字符是什么(以及可能需要的任何其他模式 - 主机名是否需要以字母开头?).
主机名的示例包括localhost或google.com.
根据我的理解,字节顺序是组成多字节字的字节顺序不同,至少在最典型的情况下.这样一个16位整数可以存储为0xHHLL或者0xLLHH.
假设我没有那个错误,我想知道的是,当Endian可能会或可能没有不同的两台计算机之间发送信息时,Endianness何时成为主要因素.
如果我以char数组的形式传输1的短整数并且没有校正,它是否被接收并解释为256?
如果我使用以下代码分解并重新组合短整数,那么字节序不再是一个因素吗?
// Sender:
for(n=0, n < sizeof(uint16)*8; ++n) {
stl_bitset[n] = (value >> n) & 1;
};
// Receiver:
for(n=0, n < sizeof(uint16)*8; ++n) {
value |= uint16(stl_bitset[n] & 1) << n;
};
Run Code Online (Sandbox Code Playgroud)提前致谢!
我有兴趣通过蓝牙连接到基于iOS的设备.我可以看到"本地网络"服务已公开,但我找不到任何有关它的额外信息.存储在密钥0x0204下的属性看起来像Bonjour密钥.
使用哪种协议?如何使用Linux,Mac或配备蓝牙芯片的自带嵌入式设备与iOS设备通信?
这是在OS X下使用蓝牙资源管理器提取的SDP数据,而iOS设备运行Gameloft的Star Battalion.
{
0x0000 = uint32(1330188565),
0x0200 = uint32(2),
0x0202 = string(004wD7l1A..0|0|0|ivucic-À'),
0x030a = uint32(0),
0x0009 = { { uuid16(11 15), uint16(256) } },
0x0201 = string(_657o30a6rmst07À),
0x0005 = { uuid16(10 02) },
0x0100 = string(Local Network),
0x0001 = { uuid16(11 15) },
0x0203 = string(004wd7l1a..0|0|0|ivucic-_657o30a6rmst07À
0xf000 = uint8(2),
0x0204 = string( txtvers=1state=A),
0x0008 = uint8(255),
0x0006 = { uint16(25966), uint16(106), uint16(256), uint16(26226), uint16(106), uint16(272), uint16(25701), uint16(106), uint16(288), uint16(27233), uint16(106), uint16(304) },
0x0004 = { { uuid16(01 …Run Code Online (Sandbox Code Playgroud) 我有一个TcpClient,我用它来发送数据到远程计算机上的监听器.远程计算机有时会打开,有时会关闭.因此,TcpClient将无法经常连接.我希望TcpClient在一秒钟后超时,因此它无法连接到远程计算机时花费太多时间.目前,我将此代码用于TcpClient:
try
{
TcpClient client = new TcpClient("remotehost", this.Port);
client.SendTimeout = 1000;
Byte[] data = System.Text.Encoding.Unicode.GetBytes(this.Message);
NetworkStream stream = client.GetStream();
stream.Write(data, 0, data.Length);
data = new Byte[512];
Int32 bytes = stream.Read(data, 0, data.Length);
this.Response = System.Text.Encoding.Unicode.GetString(data, 0, bytes);
stream.Close();
client.Close();
FireSentEvent(); //Notifies of success
}
catch (Exception ex)
{
FireFailedEvent(ex); //Notifies of failure
}
Run Code Online (Sandbox Code Playgroud)
这对于处理任务非常有效.如果可以,它会发送它,如果它无法连接到远程计算机,则捕获异常.但是,当它无法连接时,抛出异常需要十到十五秒.我需要它在大约一秒钟内超时?我怎样才能改变超时时间?
在MacOSX上,我正在使用Packer来构建一个Vagrant盒子,因此我需要不断地将其打开并将其拆除.我试图'流浪',并收到标准错误,因为端口正在使用:
"Vagrant无法转发此VM上的指定端口,因为它们会与已经在这些端口上侦听的其他应用程序发生冲突.转发到8080的端口已在主机上使用."
解决方案似乎很简单:我只需要确定将端口8080保持打开并终止该进程的进程,对吧?那并没那么简单.
如果我运行命令:
nmap localhost -p 8080
Run Code Online (Sandbox Code Playgroud)
我收到以下输出:
PORT STATE SERVICE
8080/tcp open http-proxy
Run Code Online (Sandbox Code Playgroud)
如果我运行以下命令:
top -o prt
Run Code Online (Sandbox Code Playgroud)
1360年使用的最高港口
如果我运行以下命令:
netstat -tulpn | grep :8080
Run Code Online (Sandbox Code Playgroud)
我收到:
netstat: n: unknown or uninstrumented protocol
Run Code Online (Sandbox Code Playgroud)
如果我运行以下命令:
lsof -i :8080
Run Code Online (Sandbox Code Playgroud)
我没有收到任何输出
如果我重新启动计算机,该端口现在可用,我现在可以"流浪"了.
如何杀死使用端口8080的任何进程,以便我可以在不重新启动计算机的情况下流浪?
我应该如何为我的应用程序选择IPv4多播地址?我可能需要多个(最终可能是整个范围),但只是想避免与其他应用程序冲突.
想法请:)
目前我刚从"本地使用"空间分配了一个任意的空间,239.255.42.99
我有一个带Ubuntu的VM(VirtualBox).主机是Windows 7.如何从主机ping我的Ubuntu,反之亦然?试图在VM设置中设置"桥接"连接类型但没有效果,我只在Ubuntu中丢失了我的互联网连接.
我想编写一个脚本,该脚本将继续检查网络中的任何设备是否应该全天在线.我试过用ping,但是
if [ "`ping -c 1 some_ip_here`" ]
then
echo 1
else
echo 0
fi
Run Code Online (Sandbox Code Playgroud)
给人1如果我输入有效或无效的IP地址不管.如何检查特定地址(或更好的IP地址列表中的任何设备)是否脱机?
我正在为一台机器开发一个向导,用作其他机器的备份.当它替换现有机器时,需要设置其IP地址,DNS,WINS和主机名以匹配要更换的机器.
在.net(C#)中是否有一个库允许我以编程方式执行此操作?
有多个NIC,每个都需要单独设置.
编辑
谢谢TimothyP的例子.它让我在正确的轨道上移动,快速回复很棒.
谢谢balexandre.你的代码很完美.我很匆忙,并且已经修改了TimothyP链接的示例,但我希望能早点使用您的代码.
我还开发了一个例程,使用类似的技术来更改计算机名称.我将来会发布它,所以如果你想了解更新,请订阅这个问题RSS feed.我可能会在今天晚些时候或周一经过一些清理后得到它.
networking ×10
c# ×2
ping ×2
.net ×1
bash ×1
bluetooth ×1
bonjour ×1
c++ ×1
cocoa ×1
cocoa-touch ×1
connectivity ×1
endianness ×1
gamekit ×1
ios ×1
iphone ×1
ipv4 ×1
macos ×1
multicast ×1
stl ×1
tcpclient ×1
ubuntu ×1
udp ×1
vagrant ×1
virtualbox ×1
winforms ×1