C# socket 编程

konjigood 2010-02-07 11:49:32
C# socket 编程
view plaincopy to clipboardprint?
using system
using system.collections.generic
using system.linq
using system.text

using system.net.sockets
using system.net
using system.threading
namespace sockettest
{
class program
{
static void main(string[] args)
{
threadstart ts1 = socketsend
threadstart ts2 = socketreceive
thread t1 = new thread(ts1)
thread t2 = new thread(ts2)
t1.start()
t2.start()

console.readline()
}

private void writewebip()
{
var a = system.net.dns.gethostaddresses(" www.163.com" )

foreach (var temp in a)
{
var tmp = temp.getaddressbytes()
foreach (var tmp2 in tmp)
{
console.write(tmp2.tostring() + " ." )
}
console.writeline()
}
}
//通过socket发送
private static void socketsend()
{
//准备发送的数据
byte[] sendbyte={110 074 007 074}
try
{
//利用本机测试
var address = dns.gethostaddresses(" localhost" ).first()
ipendpoint ipendpoint = new ipendpoint(address 5714)
socket socket = new socket(addressfamily.internetwork sockettype.stream protocoltype.tcp)
socket.connect(ipendpoint)
if (socket.connected)
{
console.writeline(" socket开始发送数据" )
socket.send(sendbyte)
}
}
catch (exception 1)
{
console.writeline( 1.tostring())
}
}
//通过socket接收
private static void socketreceive()
{
byte[] receivebyte=new byte [4]

socket socket = new socket(addressfamily.internetwork sockettype.stream protocoltype.tcp)
socket.bind(new ipendpoint(ipaddress.any 5714))
socket.listen((int)socketoptionname.maxconnections)
var a = socket.accept()
if (a != null)
{
if (a.connected)
{
console.writeline(" socket开始接收数据" )
a.receive(receivebyte)
foreach (var temp in receivebyte)
{
console.write(temp.tostring ()+" " )
}
}
}
}

}
}
...全文
37 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
antoniusguo 2010-02-07
  • 打赏
  • 举报
回复
楼主这个语法。。我不太懂,我只会2.0的,以后新增的就没看过了。。
antoniusguo 2010-02-07
  • 打赏
  • 举报
回复
var a = socket.accept()
if (a != null)
{
if (a.connected)

这个socket没有用过connect,connected不会为true的
antoniusguo 2010-02-07
  • 打赏
  • 举报
回复
if (a.connected)

这个判断不要了

110,556

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧