socket多网卡编程(tcpip socket编程)

http://www.itjxue.com  2023-01-25 03:45  来源:未知  点击次数: 

如何选择网卡进行socket编程

1.最简单的方法:

public?static?String?reverse1(String?str)

{

???return?new?StringBuffer(str).reverse().toString();

}

2.最常用的方法:

public?static?String?reverse3(String?s)

?{?

???char[]?array?=?s.toCharArray();?

??String?reverse?=?"";??//注意这是空,不是null

???for?(int?i?=?array.length?-?1;?i?=?0;?i--)?

???reverse?+=?array[i];?

???return?reverse;?

??}?

3.常用方法的变形:

?public?static?String?reverse2(String?s)

{?

??int?length?=?s.length();?

???String?reverse?=?"";??//注意这是空,不是null

???for?(int?i?=?0;?i??length;?i++)?

????reverse?=?s.charAt(i)?+?reverse;//在前面连接,??而非常见的后面

???return?reverse;?

??}?

4.C语言中常用的方法:

?public?static?String?reverse5(String?orig)

{?

??char[]?s?=?orig.toCharArray();?

??int?n?=?s.length?-?1;?

??int?halfLength?=?n?/?2;?

??for?(int?i?=?0;?i?=?halfLength;?i++)?{?

????char?temp?=?s[i];?

???s[i]?=?s[n?-?i];?

???s[n?-?i]?=?temp;?

???}?

???return?new?String(s);??//知道??char数组和String相互转化

??}

关于win socket 绑定多网卡

用ifconfig /all命令能够列出目前本机所有的IP地址,用popen("ifconfig /all")可以从匿名管道中读取这些信息。在绑定时,假如特定网卡IP地址为192.168.0.122,那么这样写可以绑定到这个IP低地址上:

sockaddr_in h; memset(h, 0, sizeof(h));

h.sin_family = AF_INET; //内部网络协议TCP\UDP等

h.sin_port = htons(80); //端口号,这里用了80

h.sin_addr.s_addr = inet_addr("192.168.0.122");//绑定到指定IP上

SOCKET s = socket(AF_INET,SOCK_STREAM,IPPROTO_IP);

if (SOCKET_ERROR = bind(s,(sockaddr*)h,sizeof(h))==0)

{

MessageBox("失败!");

}

在windows下用C语言如何实现socket网络编程,需要用到哪些头文件或者库?

需要用到的头文件包含:

#include winsock2.h

#include windows.h

与Linux环境下socket编程相比,windows环境多了一个步骤:启动或者初始化winsock库

Winsock,一种标准API,一种网络编程接口,用于两个或多个应用程序(或进程)之间通过网络进行数据通信。具有两个版本:

Winsock 1:

Windows CE平台支持。

头文件:WinSock.h

库:wsock32.lib

Winsock 2:

部分平台如Windows CE貌似不支持。通过前缀WSA可以区别于Winsock 1版本。个别函数如WSAStartup、WSACleanup、WSARecvEx、WSAGetLastError都属于Winsock 1.1规范的函数;

头文件:WinSock2.h

库:ws2_32.lib

mswsock.h用于编程扩展,使用时必须链接mswsock.dll

扩展资料

winsock库的加载与卸载:

加载:int WSAStartup(WORD wVersionRequested, LPWSADATA lpWSAData);

加载成功,返回值为0。

WORD wVersionRequested:加载的winsock版本,使用宏MAKEWORD(x, y),x表示高字节,y表示低字节。然而使用时MAKEWORD(2, 2)。高字节与低字节相同~~

LPWSADATA lpWSAData:WSADATA结构的指针,传入参数后,系统帮助我们填充版本信息。有兴趣的可以看看结构体内容,不过基本用不着。

卸载:int WSACleanup(void);比起加载,卸载的函数真是轻松愉快。

一台主机有两个网卡。socket()编程如何指定别的客户端与本主机的其中一个网卡通讯?

每个网卡都是有自己ip地址,socket编程时,只需操作这个ip,就可以了。

服务端先返回指定的ip地址,可以端根据这个ip地址重新建立连接。这样应该可以了。

求助SOCKET 双网卡 C语言编程问题

需要建立两个SOCKET吗?socket1绑定IP1和端口5060,socket2绑定IP2和端口5060,socket1进行内网(网卡1)的收发UDP包,socket2对外网(网卡2)收发UDP包,这样会有问题吗?

问题2:如果还是bind INADDR_ANY的话,能收到所有的包,但是发送时,我希望需要发送到192.168.103.1网段的通过网卡1走,对方收到的地址为IP1(192.168.103.110),发送到172.16.0.1网段的通过网卡2走,对方收到的地址为IP2(172.16.0.100),请问达到这种效果的话,需要怎么做?

socket网络编程

客户端与服务端通过socket套字节连接后都会返回一个实例对象,分别保存这个对象,就相当于保存的对方的地址。不同的客户端连接到服务器,得到的对象都是不同的。服务端要发信息直接拿这个对象进行操作就可以了。

很久没写了,具体名称记不起来了,思路就是这样的

(责任编辑:IT教学网)

更多

推荐word文章